Javascript 在PHP中解析XML提要并将其返回到DOM抛出语法错误
我有一个应用程序,我正在通过AJAX对其进行API调用。我需要在这里使用jsonp执行跨源请求,如下所示:Javascript 在PHP中解析XML提要并将其返回到DOM抛出语法错误,javascript,php,ajax,xml,Javascript,Php,Ajax,Xml,我有一个应用程序,我正在通过AJAX对其进行API调用。我需要在这里使用jsonp执行跨源请求,如下所示: $.ajax({ type: "GET", dataType: "jsonp", url: "http://127.0.0.1/edsa-EE%20Dashboard/commentsRequest.php", success: function(data){ console.
$.ajax({
type: "GET",
dataType: "jsonp",
url: "http://127.0.0.1/edsa-EE%20Dashboard/commentsRequest.php",
success: function(data){
console.log(data)
}
})
然后commentsRequest.php文件进行XML调用并检索数据。以下是该文件中的代码:
<?php
$feed = file_get_contents('https://user:pass@myapi.com/display/?&some_data=2&some_other_data=2');
$xml=simplexml_load_string($feed) or die("Error: Cannot create object");
print_r($xml);
?>
如您所见,我使用simplexml\u load\u字符串来解析XML,因为这是在线推荐的。如果我在浏览器中打开,我会看到数据没有问题,但是如果我尝试通过上面的AJAX调用将数据检索到我的应用程序中,我会得到一个
意外标识符
错误
我尝试使用JSON_encode($xml)将数据编码为JSON,因为我认为这可能是问题所在,这给了我一个稍微不同的错误:
意外令牌:
在成功地从服务器检索数据并将其编码为json之后,我不确定为什么会出现这些错误
非常感谢您在console.log中完成ajax调用后所看到的帮助您无法使用jsonp解析xml。我认为您需要将
$xml
内容转换为json–不确定您是否可以通过json\u encode
-ing来实现。console.log显示了上面列出的错误@m4grio您建议json_encode的替代方案是什么?不需要寻找json_encode的替代方案,您需要修改的是$xml是否已准备好按照您希望检索数据的方式进行编码,或者您需要在编码之前对其进行处理/清理。