2012-03-12 2 views
1

Просто добирайтесь до этого jquery и ajax.jquery ajax post querystring

Я хочу запустить небольшой скрипт на странице, и я собрал для этого, чтобы использовать POST из функции jquery. У меня возникли проблемы с отправкой повторений, хотя, что я делаю неправильно?

$.post("inventory.php?use=" + drag_item.attr('id')); 

drag_item.attr('id') небольшой текст одним словом, то, что правильный способ сделать это?

ответ

1
$.post("inventory.php?use=" + drag_item.attr('id')); //wrong 

это неправильно, он принимает дополнительный набор Params для этой цели:

$.post("inventory.php",{use:''+drag_item.attr('id')},function(responseData){ 
    //callback goes here 
}); 
1

Вы должны кодировать параметры:

$.post("inventory.php", { use: drag_item.attr('id') }); 

Кроме того, в этом примере вы только отправив запрос AJAX, но никогда не подписавшись на любой успех обратного вызова для обработки результатов, возвращаемых сервером. Вы можете сделать это так:

$.post("inventory.php", { use: drag_item.attr('id') }, function(result) { 
    // this will be executed when the AJAX call succeeds and the result 
    // variable will contain the response from the inventory.php script execution 
}); 

Также убедитесь, что drag_item, что вы используете в этом примере был инициализирован в какой-то существующий DOM элемента, и что этот DOM элемент имеет атрибут id.

Наконец, используйте инструмент отладки javascript, такой как FireBug на панели инструментов разработчика FireFox или Chrome в Google Chrome, чтобы отлаживать ваши запросы AJAX и просматривать запросы и ответы, отправляемые на сервер и с сервера, и любые возможные ошибки, которые могут возникать между ними.

+0

спасибо, так что я могу использовать обычный метод $ _GET [использование] на inventory.php для работы с данные да? Вы потеряли меня со всем этим разговором DOM, но я думаю, что я все поработаю. – user1022585

+0

@ user1022585, вы не можете использовать '$ _GET [" use "]' в сценарии на стороне сервера, потому что вы не отправляете запрос GET. Вы отправляете запрос POST от клиента, поэтому вы должны использовать '$ _POST [" use "]' на сервере для получения соответствующего значения. Или измените свой клиентский скрипт на использование '$ .get' вместо' $ .post'. –