1

$.post への呼び出しがコード全体で機能しません。私はリクエストを他のドメインに送信していません。実際には、ローカルホストですべてを行っています。ramon.local私の localhost エイリアスは、Mac OS X 10.8 によって自動的に定義されましhttp://ramon.local/linkebuy_0.7/resourceXhttp://ramon.local/linkebuy_0.7/resourceY。Chrome のコンソールにエラーはありません。

サーバー側はリクエストを受け取らず、ブラウザから直接アクセス(URLを打って)確認できます。

機能していないのは 1 つの通話だけではなく、どれも機能していません。それらはすべて稼働日前のものであり、ローカル設定で誤って何かを変更したのではないかと疑っています。どうなり得るか?

これが私が直面していることの例です:

$.post(
    <<CORRECT URL INSIDE THE DOMAIN>>,
    {},
    function(response) {
        console.log('THIS SHOULD BE PRINTED ON CONSOLE');
        alert('THIS SHOULD BE POPPED UP');
    }
);

上記のコードを実行している間、アラートもコンソールメッセージも表示されません。だから私は次のことを試しました:

$.support.cors = true;
$.ajax({
    url: "http://ramon.local/linkebuy_0.7",
    dataType: "json",
    type: "GET",
    crossDomain: true,
    success: function (data) {
        console.log(data);
    },
    error: function (xhr, status, error) {
        alert(error + " - " + status);
    }
});

クロスドメインの問題であるかどうかを確認するために$.support.cors = true;来ました。そのため、以前と同じようcrossDomain: trueに警告を受けました。No Transport - error

それを解決するにはどうすればよいですか?

前もって感謝します。

4

2 に答える 2

1

さて、私は非常に奇妙な方法で問題を解決しました。

JQuery ファイルを削除して再度ダウンロードし、古いファイルを置き換えました。それがうまくいったことが起こります。

したがって、次の場合:

  • クロスドメインではない AJAX リクエストの作成。
  • そのための JQuery の使用 (例: $.post$.getなど)。
  • No TransportAJAX エラーの取得

次に、再ダウンロードして、あなたが JQuery source であることを置き換えます

それ以外の場合は、クロスドメイン リクエストを作成している場合 (この場合ではありません)、JSONP を探して、$.support.cors = true;コードの先頭に設定してみてください。

コメントと回答をありがとうございました。

于 2012-12-10T20:13:51.483 に答える
1

これを試して、アラートが表示されるかどうかを確認してください。

// Assign handlers immediately after making the request,
// and remember the jqxhr object for this request
var jqxhr = $.post("your url", function() {
    alert("success");
}).success(function() {
    alert("second success");
}).error(function() {
    alert("error");
}).complete(function() {
    alert("complete");
});

// perform other work here ...
// Set another completion function for the request above
jqxhr.complete(function() {
    alert("second complete");
});​
于 2012-12-10T17:22:31.350 に答える