1

jQueryで外部URLにデータを送信したい。私は応答を気にしませんし、応答を読みたくもありません。誰かが私にこれを行う方法を教えてもらえますか? この呼び出しを使用して、データを正常に送信できました。

$.get("http://sample-domain.com/testfile.php");

ただし、これは IE では機能しないようです。すべてのブラウザで動作するデータ (応答なし) を送信する方法について、提案 (またはより良い方法) を持っている人はいますか?

4

2 に答える 2

0

必要な外部サイトの場合

var jqxhr = $.get('http://sample-domain.com/testfile.php', function() {
    alert("success");
  })
  .success(function() { alert("second success"); })
  .error(function() { alert("error"); })
  .complete(function() { 
    alert ("complete");
  });

これは、jQuery サイトからのいくつかの推奨事項です。

  • ブラウザーのセキュリティ制限により、ほとんどの "Ajax" 要求は同一オリジン ポリシーの対象となります。要求は、別のドメイン、サブドメイン、またはプロトコルからデータを正常に取得できません。
  • jQuery.get() を使用したリクエストがエラー コードを返す場合、スクリプトがグローバルな .ajaxError() メソッドも呼び出していない限り、エラーは表示されずに失敗します。あるいは、jQuery 1.5 以降では、jQuery.get() によって返される jqXHR オブジェクトの .error() メソッドもエラー処理に使用できます。
  • スクリプトおよび JSONP リクエストは、同じオリジン ポリシーの制限を受けません。
于 2012-08-24T15:56:17.967 に答える
0

これは、ブラウザでの ajax リクエストに対するセキュリティ制限によるものです。

src 属性にその URL を指定して IFrame を作成できます。

そんな感じ:

$(document).append("<iframe src='http://sample-domain.com/testfile.php'>")

それが役に立てば幸い。

于 2012-08-24T15:49:02.040 に答える