我是PHP和Javascript的新手,我在将Google地图边界发送到运行SQL以查找边界内的地址并生成用于放置标记的XML时遇到一些困难。
我得到了一些帮助来清理我的代码,但问题仍然存在。问题是我的Javascript没有向PHP发送数据,或者PHP没有以正确的方式读取数据。
如果我包含这一行,PHP就会停止(实际上还没有在PHP文件中使用,除了这一行:
$South = $_POST['South'];
Javascript函数(早期在js文件中定义并填充了北,南,东和西。插入警报(南)有效,所以我不认为这是问题),
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);
}
答案 0 :(得分:0)
在request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
request.open('POST', url, true);
应该是这样的:
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) {
然后它会起作用。