我有一个自定义网站,它会检查 document.ready
是否在 URL 行中有一个名为“temp”的参数。如果是这样,我会在我的服务器上调用一个 PHP 函数,该函数将值存储在数据库中。现在对我来说奇怪的是,如果手动输入:http://mywebsite.org/?temp=7
在我的浏览器中,一切正常。但是如果我使用这个网站来测试 GET:
http://requestmaker.com/
我的网站什么都不做。
这是我的 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
得到的响应代码:http://pastebin.com/WL2CQP4v
最佳答案
这是因为 requestmaker.com 仅发送请求并向您显示响应。它并没有真正在网络引擎/浏览器中执行网页。
你没有写你的最终目标是什么,但如果它用于自动化测试,也许你应该查看 travis-ci
、 phantomjs
或类似工具。
关于javascript - 即使手动 URL 有效,网站也无法识别 GET,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37419584/