javascript - 即使手动 URL 有效,网站也无法识别 GET

标签 javascript php jquery html xmlhttprequest-states

我有一个自定义网站,它检查 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-ciphantomjs 或类似工具.

关于javascript - 即使手动 URL 有效,网站也无法识别 GET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37419584/

相关文章:

javascript - 以秒为单位刷新图表信息,而不是按钮

javascript - value 属性没有出现在 Angular ngForm 中

javascript - backbone.js 为每个 View 触发的公共(public)事件

php - 一次运行多个查询

php - 按几列对 mysql 结果进行排序

php - 在 Woocommerce 购物车中显示特定产品 ID 的自定义缩略图

javascript - 添加 CSS :focus selector via jQuery

javascript - 如何在菜单项单击时重新加载 iframe 的内容

javascript - for循环字符串每个单词

javascript - 如何将头文件中的 div 固定在另一个文件的固定 div 之上?