我在获取返回值时遇到问题(内容类型:“text/xml”)。我可以通过直接访问此 URL 来获取返回值:
https://[domain_name]/myfolder/myapi/?xml=<xml version='1.0'><MyTasks><Search></Search></MyTasks>
如果错误(在 MyFolder
中的 HTML 中调用),请帮助我更正这些备选方案,因为它总是提示“失败”。
$.ajax({
type : "GET",
url : "interface/?xml=<xml version='1.0'><MyTasks><Search></Search></MyTasks>",
dataType : "text/xml",
success : function(msg){
alert('Success');
}
error : function(msg) {
alert('Failed');
}
});
或者...
$.ajax({
type : "POST",
url : "interface/",
data : { xml: escape("<MyTasks><Search></Search></MyTasks>") },
dataType : "text/xml",
success : function(msg){
alert('Success');
}
error : function(msg) {
alert('Failed');
}
});
谢谢。
解决方案
必须通过 https
访问接口(interface),所以我改变了url
绝对 URL 的参数。我还必须使用 "xml"
不是 "text/xml"
作为其 dataType
.结果成功,谢谢。
最佳答案
这是否完全采用 POST ..从您的示例来看,它看起来像是针对 GET 的设置.. 试试这个:
$.ajax({
type : "GET",
url : "http://blachblahblah.com/abc.html",
dataType : "text/xml",
data : { xml : escape("<xml version='1.0'><MyTasks><Search></Search></MyTasks>") },
success : function(msg){ alert('Success'); } ,
error : function(msg) { alert('Failed'); }
});
关于jquery - 通过 jQuery AJAX 传递 XML 的不同方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5176548/