次のコードを使用してデータを POST します。
$.post("http://domain/page.aspx", postdata);
更新しました:
次のコードは機能しません。
$.post("http://domain/page.aspx", postdata, function(data){alert(data);});
サーバーの応答を文字列として取得するには?
次のコードを使用してデータを POST します。
$.post("http://domain/page.aspx", postdata);
更新しました:
次のコードは機能しません。
$.post("http://domain/page.aspx", postdata, function(data){alert(data);});
サーバーの応答を文字列として取得するには?
コメントより
わかりました。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);});
});
コールバック関数を使用する
$.post("http://domain/page.aspx", postdata, function(result) {
alert(result);
$('divID').html(result);
});
CORSがサーバーでサポートされていて、ページのオリジンからのリクエストを許可するように構成されていない限り(および使用されているブラウザーがそれをサポートしていない限り) 、Same Origin Policyに直面していると思います。
$.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 を使用し、それに応じて関数を使用してください。