【发布时间】:2010-10-14 14:54:20
【问题描述】:
我必须在不同域之间通过 javascript 进行 SOAP 调用。在服务器端,有一个允许的域、方法和标头列表,这些域、方法和标头都包含在过滤器的响应中。当响应代码为 200 但在服务器端引发异常时,它运行良好(即使在不同域之间),xhr 对象的状态为 0 而不是 500 并且 responseText 为空。在同一个域上使用时,状态和响应文本都可以。
相关代码如下:
function onError(xhr, status, thrownError) {
alert(xhr.status);
alert(xhr.responseText);
}
$.ajax({
type: "POST",
url: SOAPClient.Proxy,
dataType: "xml",
processData: false,
data: content,
context: context,
contentType : SOAPClient.ContentType + "; " + SOAPClient.CharSet,
error: onError,
success: onSuccess,
complete: onComplete,
beforeSend: function(req) {
req.setRequestHeader("Method", "POST");
req.setRequestHeader("Content-Length", SOAPClient.ContentLength);
req.setRequestHeader("SOAPServer", SOAPClient.SOAPServer);
req.setRequestHeader("SOAPAction", soapReq.Action);
}
});
我正在使用 jQuery-1.4.2。允许的标头是“SOAPServer”、“SOAPAction”和“Method”。 我在 FF 3.6.10 和 Google Chrome 7.0.517.36 中尝试过
【问题讨论】:
标签: javascript jquery exception soap