我在获取返回值(内容类型:“ text / xml”)时遇到问题。我可以通过直接访问以下URL获得返回值:
https://[domain_name]/myfolder/myapi/?xml=<xml version='1.0'><MyTasks><Search></Search></MyTasks>
如果错误(请在中的HTML中调用),请帮助我纠正这些替代方法,MyFolder因为它始终会警告“失败”。
MyFolder
$.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,因此我将url参数更改为绝对URL。我还必须使用"xml"not "text/xml"作为其dataType。结果成功,谢谢。
https
url
"xml"
"text/xml"
dataType
为了简化,我将执行以下操作
假设您使用的是名为script.php的php脚本。
var xml_string = "<xml version='1.0'><MyTasks><Search></Search></MyTasks>"; $.get('script.php', {xml: xml_string}, function(){ //your success function alert('success'); }).error(function(){ //your error function alert("error"); });