小编典典

通过jQuery AJAX传递XML的不同方法

ajax

我在获取返回值(内容类型:“ text / xml”)时遇到问题。我可以通过直接访问以下URL获得返回值:

https://[domain_name]/myfolder/myapi/?xml=<xml version='1.0'><MyTasks><Search></Search></MyTasks>

如果错误(请在中的HTML中调用),请帮助我纠正这些替代方法,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。结果成功,谢谢。


阅读 297

收藏
2020-07-26

共1个答案

小编典典

为了简化,我将执行以下操作

假设您使用的是名为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");
});
2020-07-26