Я делаю следующее JQuery Ajax вызов функции CodeIgniter PHP:Невозможно передать строковый параметр для функции PHP с помощью AJAX
$.ajax({
type:"POST",
url: "Ajax/getHtml",
data: { u : 'http://stackoverflow.com/' },
contentType: "application/json; charset=utf-8",
dataType: 'html',
success: function(data) {
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('error');
console.log(jqXHR,textStatus, errorThrown);
}
});
Запрашиваемая функция РНР:
public function getHtml() {
var_dump($_POST);
$url = $_POST['u'];
$result = file_get_contents($url);
echo ($result);
}
var_dump ($ _POST):
array(0) { }
Как это исправить?
параметр contentType указывает запрос, какой тип данных вы отправляете на сервер, php по умолчанию не знает, как получать/обрабатывать json, вам нужно будет прочитать исходный ввод, чтобы получить его. Удалить параметр contentType –
Вы пытались изменить тип контента? – TNC
вам не нужно устанавливать тип содержимого, опустить эту часть, и она должна работать нормально – Ghost