我正在玩 JSONP。我理解(也许)这个概念,但在实施上有点倒退。
我拥有的是一个 Web 服务器,它从 URL 字符串生成 XML 结果。正如我所研究的,JSONP 应该可以解决跨域问题,但预期的返回数据仍然是 JSON 数组。因此,如果服务器返回 XML,我如何让我的 ajax 脚本识别并解析它?
这是我的代码:
var usdaurl = 'http://eligibility.sc.egov.usda.gov/eligibility/eligibilityservice?eligibilityType=Property&requestString=<?xml version="1.0"?><Eligibility xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="/var/lib/tomcat5/webapps/eligibility/Eligibilitywsdl.xsd"><PropertyRequest StreetAddress1="'+street+'" StreetAddress2="" StreetAddress3="" City="'+city+'" State="'+state+'" County="" Zip="'+zip+'" Program="RBS"></PropertyRequest></Eligibility>';
var clbk = function(xml){
var usda = $('Property').attr('Eligibility');
};
$.ajax({
url: usdaurl,
dataType: 'jsonp',
jsonpCallback: 'clbk'
});
此外,我得到的错误是 XML 响应中无法识别的字符。
Uncaught SyntaxError: Unexpected token <