我有一个自定义网站,检查document.ready是否在URL行中有一个名为’temp’的参数.如果是这样,我在我的服务器上调用一个PHP函数,它将值存储在数据库中.现在对我来说奇怪的是,如果手动输入:
http://mywebsite.org/?temp=7
在我的浏览器中,一切正常.但如果我使用这个网站来测试GET:
我的网站什么也没做.
这是我的jQuery代码,它检查参数的存在:
$(document).ready(function() {
var data = gup('temp', location.href);
if (data != undefined) {
$.ajax({
data: {
action: 'insertTemp',
value: data
},
type: "GET",
url: "sql.PHP",
success: function(data) {
//alert("Data Saved " + data);
},
error: function(xhr) {
alert(xhr.responseText);
}
});
}
你是否认为document.ready可能是一个问题,因为它没有在自动HTML请求中检查?
编辑:
Gup是我从互联网上复制的一个函数,它只是过滤URL中的参数:
function gup(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)", "i"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
它在document.ready()子句之外声明.
这是我从requestmaker.com获得的响应代码:
解决方法:
这是因为requestmaker.com只发送请求并向您显示响应.它并没有真正在Web引擎/浏览器中执行网页.