Javascript 从Ajax请求解析XML
我有这个url,我需要从中获取XML并解析它Javascript 从Ajax请求解析XML,javascript,php,jquery,ajax,xml,Javascript,Php,Jquery,Ajax,Xml,我有这个url,我需要从中获取XML并解析它 var url='1〕http://www.omnyads.com/xml.php?query=education&username=user2&ip=24.102.160.176&limit=3&ua=Mozilla&ref= http://www.omnyads.com/filter.php“ $.ajax({ type: 'GET',
var url='1〕http://www.omnyads.com/xml.php?query=education&username=user2&ip=24.102.160.176&limit=3&ua=Mozilla&ref= http://www.omnyads.com/filter.php“
$.ajax({
type: 'GET',
dataType: 'jsonp',
jsonp: 'jsonp_callback',
url: url,
success: function(data) {
},
error: function(data) {
},
});
Ajax将返回以下XML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<general>
... ... ..
</general>
... ... ..
我得到了这个语法错误:uncaughtsyntaxerror:uncontractedtoken<,它来自“
”,我无法解析我的XML
其他事情。。如果我不使用dataType:jsonp,我会收到以下错误消息:
无法加载XMLHttpRequest。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“examplesite.com”
提前感谢。您希望从服务器收到XML响应,但您指定的数据类型是jsonp。因此,很明显,如果它需要JSONP,它将无法解析响应。数据类型必须为“xml” 至于您的另一个问题,您通过破解代码来“修复”,请求的资源上没有“访问控制允许源”标题。因此,不允许访问源“examplesite.com”。表示不允许您从其他域访问该API。很简单,对吧?这就是它所说的,这就是它的意思 JSONP被设计为绕过这个安全特性的一种方式,但它只适用于那些设计用于返回JSONP数据的API。你不能在任何时候随意打开它 以下是有关的更多信息:
如果您对该外部API有任何控制权(我打赌您没有),您可以要求他们添加一个
Access control Allow Origin
头,该头将授予您的域/IP从另一个域访问API的权限。非常感谢您的回答,真的非常感谢。祝你一切顺利,伙计。