2011-07-07 13 views
1

私のPHP/jQueryのアプリケーションでは、私はこのような外部のPHPファイル(post_data.php)を呼び出すことが可能なのJavaScriptファイル、持っている:今コントローラ機能にAjaxデータを投稿していますか?

$.ajax({ 
      type: "POST", 
      data: "some data", 
      url: "post_data.php", 

を、代わりにPHPファイルを呼び出すので、私は希望CodeIgniter contoller関数Data/post_dataを呼び出すには、どうすればpost_data.phpの代わりにその関数を呼び出すことができますか?

私は呼びたいと思われる中でのJavaScriptファイルが配置されている:

root/js/test.js 

機能がここに置かれている間:

root/application/controllers/data/post_data 
+0

どのファイルで、これは実行しているJSのですか? – Neal

答えて

3

アヤックスは、完全なURLを持っている必要があります:

$.ajax({ 
     type: "POST", 
     data: "some data", 
     url: "http://www.yourdomain.com/urpath/post_data"}); 

理由は、Ajaxが.php fiのサーバーの場所を認識していないJavascriptファイルですル。したがって、絶対パスを使用することにより、あなたの呼び出しが確実に行われます。また、Javascriptファイルを使用する前にテストするには、URLをコピーしてブラウザに貼り付けます。 404エラーが表示されない場合は、適切なパスを使用しています。 Doaks応答に追加するには

0

、また、あなたは($ .postを使用することができ、この

$.ajax({ 
    url: "<?php echo site_url('data/post_data'); ?>", 
    type: "POST", 
    data: data, 
0

のようにそれを行うことができます)jQueryのは、それがより簡単で、POSTリクエストのために最適化されたのです機能。また、ルーティングのために、コントローラとメソッドだけを設定することもできます。それは十分です。 jQueryのドキュメントへ

$.post("admin/newphone", { 
     phone: $('input[name="phone"]').val() 
}, 

そしてリンクhttp://docs.jquery.com/Post

関連する問題