Я пытаюсь отправить некоторые данные вместе с сообщением на конкретный URL-адрес, у которого есть php-скрипт. На данный момент у меня нет доступа к скрипту php. Скрипт php проверяет, соответствует ли строка любой записи в db и возвращает эту запись, если есть совпадение. Если нет совпадения, скрипт вернет все записи.
Следующий код - это то, что у меня есть до сих пор. Как вы можете видеть, у меня есть строка с именем: shouldnotfindanyresultsstring. Это должно фактически не возвращать никаких результатов. Однако он возвращает все записи вместо записей.
То, что я пробовал:
params
вместо data
Content-types
$http({
url: $scope.url,
method: "POST",
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
data: {search: "shouldnotfindanyresultsstring"}
}).then(function (response) {
console.log(response);
}, function (response) { // optional
console.log("Still not working");
});
Поэтому в конечном итоге я хочу искать записи в db с помощью строки поиска. Однако я не работаю.
С почтальоном я могу создать пост, который работает. У меня есть сильное чувство, что это имеет какое-то отношение к Content-type
Если вы хотите использовать "application/x-www-form-urlencoded", тогда отформатируйте свои данные как строку
data: "search=shouldnotfindanyresultsstring"
Если вы хотите использовать 'application/json', используйте это:
var jsonData = { search : "shouldnotfindanyresultsstring" };
$http({
method: 'POST',
url: $scope.url,
contentType: 'application/json',
data: JSON.stringify(jsonData),
}).
success(function (data) {
console.log(data);
}).
error(function (message, status) {
console.log(message);
});
data : "search=shouldnotfindanyresultsstring"
Если вы хотите использовать x-www-form-urlencoded
вам нужно фактически закодировать данные как строку. Угловой всегда помещает ваш объект в объект JSON, закодированный в вашем теле, даже если вы укажете этот заголовок.
Он объяснил в этом ответе и дает решение
Попробуй это:
$http.post($scope.url, JSON.stringify("shouldnotfindanyresultsstring"), { headers: {'Content-Type': 'application/x-www-form-urlencoded'} })
или это:
$http.post($scope.url, JSON.stringify({search: "shouldnotfindanyresultsstring"}), { headers: {'Content-Type': 'application/x-www-form-urlencoded'} })