第一:我是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