第一:我是AJAX的新手,刚刚了解一些基本知识约PHP。对.php文件的AJAX请求返回空字符串
我想做一个AJAX发布到.php文件。要做到这一点,我得到了这样的代码:
var lat = results[0].geometry.location.lat();
var lng = results[0].geometry.location.lng();
$.ajax({
url: 'http://api.geonames.org/findNearbyPostalCodes',
type: 'GET',
data: {lat: lat, lng: lng, radius: 20, maxRows: 100, country: 'CH', username: 'bbag8274'},
success: function(scriptData, textStatus, jqXHR){
$.ajax({
url: 'privatkunden_data.php',
type: 'POST',
data: {xmldata: jqXHR.responseText, address: $('#address').val()},
success: function(secondScriptData, textStatus, jqXHR){
alert('suc');
},
error: function(jqXHR, textStatus, errorThrown){
alert(jqXHR.responseText);
}
});
},
error: function(jqXHR, textStatus, errorThrown){
alert('fail');
}
});
如果第一篇文章成功执行第二篇。但第二个执行错误:函数。这里是我的.PHP文件:
$xmlroot = $_POST['xmldata'];
$doc = new DOMDocument;
$doc->loadXML($xmlroot);
foreach($doc->getElementsByTagName('postalcode') as $postalcode){
$zipcodes = $postalcode->nodeValue . " ";
}
的问题是:该AJAX后返回一个空的警告框(alert(jqXHR.responseText);
)和.PHP文件返回错误:
**PHP Warning: DOMDocument::loadXML(): Empty string supplied as input**
所以错误说我的$xmlroot
变量是空的,对不对?如果是,为什么它是空的?它应填写来自xmldata
的信息。
建议表示赞赏
在此先感谢
你不能做Ajax请求,除非您使用JSONP不属于当前域。查看维基百科有关[同源策略]的文章(http://en.wikipedia.org/wiki/Same-origin_policy)。 – h2ooooooo
我不确切地知道你的意思。我不能这样做?感谢您的链接,我会检查它 – Roman
lat和lng是什么? – Ventura