Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Ajax请求解析XML_Javascript_Php_Jquery_Ajax_Xml - Fatal编程技术网

Javascript 从Ajax请求解析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',

我有这个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',
                    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的权限。

非常感谢您的回答,真的非常感谢。祝你一切顺利,伙计。