2

Jquery ajax を使用して CodeIgniter 関数を呼び出しています。

$.ajax({
  type: "POST",
  dataType:'json',
  beforeSend: function() {
  $("#opc").addClass("opacity");
  $("#searching").show(); 
  },
  url: "<?php echo base_url(); ?>search/get_results",
  data: {
    'ns_pos':ns_pos,
    'NSPlaceDomainID':activity,
    'DistrictID':area,
    'NSAssociationID':referer,
    'Title':text,
    'SettlementID':settlement,
    'NoOpinion':$("input[name=NoOpinion]").is(":checked"),
     'SpecialCharacteristics':ns_attr
  } 

等...

Chrome コンソールに次のメッセージが表示されます。

POST http://mattat.org.il/ci/index.php/search/get_results 404 (Not Found) 

応答のプレビューは次のとおりです。

Not Found

The requested URL /ci/index.php/search/get_results was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

ただし、URL 行にリンクを貼り付けるだけで明らかなように、この機能は存在します。

よくわかりません...

編集: @paul の建設的なコメントに続いて、リクエストを GET に変更しました。実際、ページが見つかりました。このようなあいまいな動作の原因は何ですか?

もう 1 ステップ: データ オブジェクトを空にすると (次のように: data: {})、関数POST 要求でも見つかります

4

3 に答える 3

2

Paul が既に指摘したように、GET/POST の制限によるエラーである可能性があります。このエンドポイントで POST 要求をサポートしている場合は、サーバー コードを確認してください。

于 2012-10-16T20:48:51.307 に答える
0

代わりに を使用してbase_url()くださいsite_url()。私は同じ問題を経験しました。

ajax jQuery の投稿を表示する簡単な例を次に示します。

 $.post("<?php echo site_url('message/add') ?>", {message: msg}, function() {
        $('#content').load("<?php echo site_url('message/view/ajax') ?>");
        $('#message').val('');
    });

関数がコントローラーで定義されていると推測できるので、ここにメッセージ/追加します。私は最初にphpを扱うので、良い例を探しました。私はphpのニュースだけでなく、codeigniterのニュースでもあります。多くの例では、実装されたフォームは「base_url+message/add」のようなものです。それらはすべて 2.X より前のバージョンで作成されているため、codeigniter バージョンがこのエラーにつながる可能性があります。とにかく、準備が整ったコードが必要な場合は、次のリンクを確認してください。うまくいきました!

jQuery ajax codeigniter の例

于 2013-06-05T21:06:38.220 に答える