2013-02-14 2 views
0

с использованием Ajax кода:продолжать получать неопределенный запрос с Ajax

$.ajaxSetup({ 
    url: "last-id-test.php", 
    type: "POST", 
}); 

$.ajax({ 
    data: {theinfo: 'forminfo'},  
    success: function(data) {alert(data)}, 
    error: function (XMLHttpRequest, textStatus, errorThrown){alert('Error submitting request.')} 
}); 

, а затем простой PHP последнего-ID-test.php:

$showme = $_GET['theinfo']; 

Я всегда получаю ошибку «неопределенный индекса - theinfo '...

Я не могу увидеть мою ошибку?

+3

Вы используете POST в коде JQuery при использовании GET в PHP ... – HamZa

+0

Ну первый прочь вы используя 'POST' ... –

ответ

1

Как уже отмечался в комментариях GET и метода POST в результате данных, передаваемая в различные глобальных переменных PHP - GET == $ _GET POST == $ _POST

Так что в этом случае попробуйте в вашем PHP:

$showme = $_POST['theinfo'];

Полезно для отладки

print_r($_GET); // or $_POST or $_COOKIE

Более подробную информацию об этих глобальных переменных: http://www.php.net/manual/en/reserved.variables.php

1

Попробуйте следующее:

$.ajaxSetup({ 
    url: "last-id-test.php", 
    type: "POST", 
}); 

$.ajax({ 
    data: {'theinfo': 'forminfo'},  
    success: function(data) {alert(data)}, 
    error: function (XMLHttpRequest, textStatus, errorThrown){alert('Error submitting request.')} 
}); 

Обратите внимание, что одиночные кавычки используются вокруг имени переменной.

Теперь вы должны получить доступ к проходящему переменному с помощью POST массива, так как ваш типа установлен как POST

$showme = $_POST['theinfo']; 
+1

Вы думаете, что' {theinfo: 'forminfo'} 'не сработало бы? Нет, это было прекрасно. – Bergi

+1

Лучше всего заключать переменные с кавычками из-за совместимости разных браузеров. Иногда браузеры не довольны этой гибкостью. –

+2

В мире нет браузера, который не понимает '{theinfo: 'forminfo'}'. – Bergi

Смежные вопросы