我是PHP和Javascript的新手,在将谷歌地图边界发送到运行SQL以查找边界内地址并生成用于放置标记的XML的PHP时遇到了一些困难。
我得到了一些帮助来清理我的代码,但问题仍然存在。问题是我的Javascript没有向PHP发送数据,或者PHP没有以正确的方式读取数据。
如果我插入这一行(除了这一行之外,PHP文件中还没有实际使用),PHP就会停止:
$South = $_POST['South'];
Javascript函数(North,South,East和West在js文件中定义和填充。插入alert(South)有效,所以我认为这不是问题所在),
function downloadUrl(url, callback) {
var request = !window.XMLHttpRequest? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest; //changed this line to select the XMLHttpRequest by default and not use the activeX version when XMLHttpRequest is available.
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange;
callback(request, request.status);
}
};
request.open('POST', url, true);
request.send('South='+South+'&North='+North+'&West='+West+'&East='+East);
}
在request.open('POST', url, true);
之后添加request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
应该是这样的:
request.open('POST', url, true);
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.send('South='+South+'&North='+North+'&West='+West+'&East='+East);
并将if (request.readyState == 4) {
替换为if (request.readyState == 4 && request.status == 200) {
然后它就会起作用。