2015-08-20 6 views
1

У меня есть страница php, submit.php, которая принимает параметр «данные», get или post, и загружает его в локальный файл; Я знаю, что это работает, потому что я тестировал его с помощью jQuery, используя $.ajax. Тем не менее, мне нужно использовать AngularJS для этого приложения. Когда я пытаюсь это сделать:AngularJS HTTP POST

$http.post("submit.php", {"data": "foobar"}); 

ничего не происходит; выходной файл не изменяется. Что я делаю не так? Как я должен отправить запрос на отправку? Он отображается на моей консоли Chrome в качестве почтового запроса, с данными, которые я дал ему, и все же не влияет на файл. Между тем,

$.post('submit.php', {'data': 'barfoo'}); 

работает отлично.

ответ

2

Откройте инструменты для разработчиков. Откройте вкладку «Сеть». Запустите свой угловой код. Запустите код jQuery. Посмотрите на запрос в инструментах разработчика. Сравните их.

Тогда приведены в руководствах:

Из Angular manual:

Если свойство данных объекта конфигурации запроса содержит объект, сериализовать его в формат JSON.

Из jQuery manual:

По умолчанию, данные, передаваемых в опции данных в качестве объекта (технически, ничего, кроме строки), будут обработаны и преобразованы в строку запроса, подходящая для стандартного типа контента «application/x-www-form-urlencoded».

PHP не анализирует форматы запросов формата JSON автоматически.

Либо:

+0

Ах, я вижу. Итак, должен ли я сделать что-то вроде '$ .post ('submit.php', '{' data ':' barfoo '}"); '? – Bluefire

+0

Nvm, не видел, что вы добавили ссылку. – Bluefire

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