私は負の点がたくさんあると思いますが、この点については説明できません。 localhost/mycall.php
出力があってもAjaxは戻ってこない場合があります
このエンドポイントでのPHPコードは秒の乱数はその後、JSONデータを返す眠る:
は、URLがあります。
このエンドポイントをブラウザ経由で直接呼び出すと、常に動作しますが、AJAX経由で次のように呼び出すと、document.ready
という呼び出しが行われます。
$.ajax({
method: 'POST',
url: '/mycall.php?' + new Date().getTime() + Math.random(1, 99999),
data: dataToSend,
success: function(data) {
console.log('success');
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('error');
console.log(textStatus);
},
complete: function(jqXHR, textStatus) {
console.log('complete');
console.log(textStatus);
}
});
データはなくしばらくしてから戻り、コールバックは一切発生しません。 これはOpera、Chrome、最新のFirefoxでも発生します。なぜこれが当てはまるのでしょうか?
"Content-Type": "text/plain; charset = utf-8"ヘッダーが出力されています。
PHPコード –
を参照する必要があります。JavaScriptでは、現在のページが取得されたホストとは異なるホストにajaxリクエストを行うことはできません。 Javascriptを含むページはPHPと同じドメインにありますか、それとも単なるローカルファイルですか? – Fraser
コンソールで同じ起源の警告が表示されないのですか? – adeneo