Javascript 网站没有';即使手动URL有效,也无法识别GET

Javascript 网站没有';即使手动URL有效,也无法识别GET,javascript,php,jquery,html,xmlhttprequest-states,Javascript,Php,Jquery,Html,Xmlhttprequest States,我有一个自定义网站,它可以检查文档。如果URL行中有一个名为“temp”的参数,那么就准备好了。如果是这样,我在服务器上调用一个PHP函数,将值存储在数据库中。现在我觉得奇怪的是,如果手动键入: http://mywebsite.org/?temp=7 在我的浏览器中,一切正常。但如果我使用此网站测试获取: 我的网站什么都不做 这是我的jQuery代码,用于检查参数是否存在: $(document).ready(function() { var data = gup('temp',

我有一个自定义网站,它可以检查
文档。如果URL行中有一个名为“temp”的参数,那么就准备好了。如果是这样,我在服务器上调用一个PHP函数,将值存储在数据库中。现在我觉得奇怪的是,如果手动键入:

http://mywebsite.org/?temp=7

在我的浏览器中,一切正常。但如果我使用此网站测试获取:

我的网站什么都不做

这是我的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引擎/浏览器中执行网页


你没有写你的最终目标是什么,但是如果它是为了自动化测试之类的,也许你应该看看
travis ci
phantomjs
或类似的工具。

问题是你的嵌入式ECMA(Javascript)代码依赖于浏览器来执行。如果没有浏览器,“document.ready”将无法启动。

您是否查看了浏览器控制台中的错误?您在哪里定义
gup()
?您好,谢谢您的评论,不,我的浏览器没有抛出任何错误,gup只是我从internet复制的一个函数,用于过滤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)返回null;if(!results[2])返回“”;返回decodeURIComponent(results[2]。replace(/\+/+/g,”)}
浏览器开发工具的“网络”选项卡中的请求/响应如何?如果我使用以下命令,这就是请求/响应:
www.mywebsite.org/temp=2
因此,AJAX正在工作<代码>控制台。日志(数据)
在您的成功功能中。谢谢您的回答。我的目标是将数据发送到网页,并将其自动存储在数据库中。我还尝试从桌面应用程序向我的网站发送HTML-GET,结果是我的网站没有存储数据,我不知道为什么。我想,
requestmaker
只是做了和我的桌面应用程序一样的事情——它发送一个html请求。当然,这不是在浏览器中执行的,因为通常它不需要浏览器通过html请求向网站发送数据(这实际上需要大量资源),但它仍然可以工作。一般来说,网站有两个部分,客户端和服务器端。您所做的(检查url参数,发送ajax请求)是从客户端进行的。但是您正在测试的环境并不执行客户端。据我所知,您的目标是:您应该在客户端编写所有代码。制作一个index.php,读取$_GET['temp'],并重定向到目标(SQL.php)。例如:
header('Location:/SQL.php?action=insertTemp&value='。$\u GET['temp'])注意:这是非常糟糕的代码。你可以在prod中输入正确的用户信息。好的……但是我怎么做呢?