-3

次のコードを使用してデータを POST します。

$.post("http://domain/page.aspx", postdata);

更新しました:

次のコードは機能しません。

$.post("http://domain/page.aspx", postdata, function(data){alert(data);});

サーバーの応答を文字列として取得するには?

4

4 に答える 4

1

コメントより

わかりました。POST の後にアラートを配置すると、POST は「パンディング」状態になります。アラートページを削除すると、変更されます(停止するのは難しいです)。リダイレクト前の POST のステータスは「キャンセル」です。

.postリンクをクリックしてから電話をかけているとのことですが、リンクがたどられないように、クリック イベントをキャンセルする必要があります。

したがって、次のようなコードがある場合

$('a').click(function(){
  $.post("http://domain/page.aspx", postdata, function(data){alert(data);});
});

に変更します

$('a').click(function(e){ // added e as parameter which get the event
  e.preventDefault(); // added this line which cancels the default action of the click
  $.post("http://domain/page.aspx", postdata, function(data){alert(data);});
});
于 2013-02-12T11:39:12.303 に答える
1

コールバック関数を使用する

$.post("http://domain/page.aspx", postdata, function(result) {
    alert(result);
    $('divID').html(result);
});
于 2013-02-12T11:16:36.807 に答える
1

CORSがサーバーでサポートされていて、ページのオリジンからのリクエストを許可するように構成されていない限り(および使用されているブラウザーがそれをサポートしていない限り) 、Same Origin Policyに直面していると思います。

于 2013-02-12T11:19:26.063 に答える
-1

$.post()ドキュメントに次の説明があります。

説明: HTTP POST 要求を使用してサーバーからデータを読み込みます。

 jQuery.post( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] )

どこ、

URL

    Type: String
    A string containing the URL to which the request is sent.

データ

    Type: PlainObject or String
    A plain object or string that is sent to the server with the request.

成功(データ、テキストステータス、jqXHR)

    Type: Function()
    A callback function that is executed if the request succeeds.
    dataType
    Type: String
    The type of data expected from the server. Default: Intelligent Guess (xml, json, script, text, html).

そう、

$.post("test.php", { "func": "getNameAndTime" },
function(data){
console.log(data.name); // John
console.log(data.time); // 2pm
}, "json");

JSON データを返します。そこで dataType を使用し、それに応じて関数を使用してください。

于 2013-02-12T11:19:06.127 に答える