Сайт не распознает GET, даже если работает URL-адрес вручную
У меня есть собственный сайт, который проверяет document.ready
если в строке URL есть параметр с именем 'temp'. Если это так, я вызываю PHP-функцию на моем сервере, которая сохраняет значение в базе данных. Теперь странная вещь для меня заключается в том, что если вручную набрать это:
http://mywebsite.org/?temp=7
в моем браузере все отлично работает. Но если я использую этот сайт для проверки GET:
мой сайт ничего не делает
Это мой код 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
:
2 ответа
Это потому, что requestmaker.com только отправляет запрос и показывает вам ответ. На самом деле не выполняется веб-страница в веб-движке / браузере.
Вы не написали, какова ваша конечная цель, но если это для автоматического тестирования и как, может быть, вы должны проверить travis-ci
, phantomjs
или аналогичные инструменты.
Проблема в том, что ваш встроенный код ECMA (Javascript) зависит от браузера, который будет выполняться. Document.ready не будет запущен без браузера.