3

初めてのサーバー通信経験に問題があり、助けを求めています。

チュートリアルに従って、Web サーバー (クロスドメイン) の ajax 呼び出しを作成しました。タイプを「GET」から「POST」に切り替えて実験するまで、すべてがうまくいきました:JQueryはまだget-requestsを送信します(firebug-confirmed、サーバーr_print()は$_POSTと$_GETの両方をテストしました)。

したがって、私にとって大きな問題は、$.ajax に POST を送信するように教えるにはどうすればよいかということです。(はい、GET でできるかもしれませんが、このコードは私がやりたいことではなく、私の気持ちを傷つけます)

PHP 側では、単純な HTML フォームをチェックして、予想される結果を投稿しました。

私も次の行を追加しました:

 jQuery.ajaxSetup({ jsonp: null, jsonpCallback: null});

肯定的な結果なしで同様の回答で提案されました。

サーバー コード (PHP) は、次のものだけで構成されています。

echo("alert('".print_r($_POST)." -- + -- ".print_r($_GET)+"');");

JQuery 側:

function executeRequest() {
$.ajax({
    type: "POST",
    url: "http://server/script",
    data:  ({ username: "test" }),
    dataType: "jsonp",
    jsonp: "jsonCallback",
    contentType: "application/json",
    jsonCallback: "jsonCallback",
});
 }
function jsonCallback(data) {
alert(data.username);
 }

executeRequest();

検索パターンと特定の問題の両方を改善するためのすべてのヘルプまたはヒントは、非常に高く評価されています:)

ありがとう!

4

3 に答える 3

4

「jsonp」と「jsonCallback.」の行を削除します。コールバックを使用する場合は、$.ajax のドキュメントに従って、.done() 関数を $.ajax に追加します。

http://api.jquery.com/jQuery.ajax/

于 2012-10-31T19:49:00.447 に答える
1

JSONP は、別のドメインから Javascript を実行するスクリプト タグを挿入し、GET 要求のみをサポートします。DOM に挿入されたスクリプト タグでは POST が不可能であるため、何を使用したいかは関係ありません。

于 2012-10-31T19:46:10.743 に答える
1

JSONP は、<script>タグを作成することによって機能します。
JSONP POST を送信することは基本的に不可能です。

于 2012-10-31T19:46:21.273 に答える