gpt4 book ai didi

php - 未触发 jQuery AJAX 回调

转载 作者:可可西里 更新时间:2023-11-01 00:52:42 25 4
gpt4 key购买 nike

我有一个 AJAX 请求:

$.ajax({
url : "proxy.php",
type : "POST",
data : xmlData,
contentType : "application/x-www-form-urlencoded",
processData : false,
success : function(data) {
// success
},
error : function(data) {
// error
},
});

PHP 代理正在回答:

header('Content-type: text/xml');
echo $someXmlResponse;
exit();

没有任何回调被触发,无论是成功还是错误。

这不是我第一次得到这个。怎么回事?


编辑:一些更新 - 尾随逗号不是问题,但感谢您指出。控制台显示没有错误。 Firebug 显示请求已正确发送和接收。请求返回状态 200 OK,数据正确返回。


感谢大家的帮助。您的所有反馈都已到位。但是没有一个真正解决问题。它看起来像是 Firefox 4b5 中的错误。

最佳答案

如果服务器返回无法解析的无效 XML,则可能会发生您观察到的行为。尝试返回保证是有效 XML 的内容:

header('Content-Type: text/xml'); // <-- Notice the Content-Type header casing
echo '<foo/>';
exit();

您还将 contentType 设置为 application/x-www-form-urlencoded,而您的数据参数被称为 xmlData 假设 XML .通过将 processData 参数设置为 false,您表示数据应按原样发布,而不是自动转换为 application/x-www-form-urlencoded 并且您仍然表示请求中的此内容类型似乎自相矛盾。

此外,如果您希望从服务器获得 XML,您可以指定 dataType: 'xml'

所以你的请求可能是这样的:

$.ajax({
url: 'proxy.php',
type: 'POST',
contentType: 'text/xml',
data: '<request/>',
processData: false,
dataType: 'xml',
success: function(data) {

},
error: function(data) {

}
});

关于php - 未触发 jQuery AJAX 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3695857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com