微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 即使手动URL工作,网站也无法识别GET

我有一个自定义网站,检查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只发送请求并向您显示响应.它并没有真正在Web引擎/浏览器中执行网页.

你没有写出你的最终目标是什么,但如果它用于自动测试,也许你应该查看travis-ci,phantomjs或类似的工具.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐