-3

我使用以下代码发布数据:

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

更新:

以下代码不起作用:

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

如何以字符串形式获取服务器响应?

4

4 回答 4

1

使用回调函数

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

我希望您遇到的是Same Origin Policy,这会阻止 ajax 跨域发布,除非服务器上支持并配置了CORS以允许来自页面来源的请求(并且正在使用的浏览器支持它)。

于 2013-02-12T11:19:26.063 回答
1

从你的评论

好的,我明白了。当我在它之后放置警报时,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 POST 请求从服务器加载数据。

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

在哪里,

网址

    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 回答