Сайт не распознает GET, даже если работает URL-адрес вручную

У меня есть собственный сайт, который проверяет 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

2 ответа

Это потому, что requestmaker.com только отправляет запрос и показывает вам ответ. На самом деле не выполняется веб-страница в веб-движке / браузере.

Вы не написали, какова ваша конечная цель, но если это для автоматического тестирования и как, может быть, вы должны проверить travis-ci, phantomjs или аналогичные инструменты.

Проблема в том, что ваш встроенный код ECMA (Javascript) зависит от браузера, который будет выполняться. Document.ready не будет запущен без браузера.

Другие вопросы по тегам