У меня есть файл с именем login.php
, в этом файле есть поле для заполнения от отправки данных входа на сервер. Теперь, когда пользователь нажимает кнопку Логин, этот код обжигают:Нет данных ответа после вызова функции
var postUrl = GlobalVariables.baseUrl + 'application/controllers/user.php/ajax_check_login';
var postData =
{
'username': $('#username').val(),
'password': $('#password').val()
};
$.post(postUrl, postData, function(response)
{
// Some stuff..
}, 'json');
postUrl
правильно индексируются по:
http://localhost/App_Name/application/controllers/user.php/ajax_check_login
теперь у меня есть список моего собственного контроллера которые позволяют мне управлять веб-приложением. Один из этих контроллеров user.php
, как вы можете видеть, я вызываю функцию ajax_check_login
. Эта функция проверяет, существуют ли данные, переданные из этого запроса в базе данных, и если они верны. Это содержание:
public function ajax_check_login()
{
echo "Test?";
try
{
if(!isset($_POST['username']) || !isset($_POST['password']))
{
throw new Exception('Bad credentials!');
}
$this->check_login($_POST['username'], $_POST['password']);
if($user_data)
{
$output[] = array(
"some content..."
echo json_encode($output);
}
else
{
echo json_encode(AJAX_FAILURE);
}
}
catch(Exception $exc)
{
echo json_encode(array(
'Exception ' => array(exceptionToJavaScript($exc))
));
}
}
Теперь, в верхней части всего, я вставил эхо, чтобы проверить, если оно напечатано. Но ничего. В консоли Chrome я получаю:
Этот запрос не имеет данных для ответа.
Я не знаю, что не так, кто-то может просветить меня?
Вы можете попытаться удалить ',«json'' параметр из '$ .post' вызов, просто чтобы убедиться, что проблема не вызвана Chrome пытается расшифровать что-то, что не является действительный JSON (который не из-за теста «echo»? »;' и, возможно, какое-то сообщение об ошибке PHP, если оно есть)? Вы должны поместить ', 'json'' обратно, когда вы закончите отладку. –
Если я удалю 'json' и поставлю этот' console.log («response =>», response); 'внутри' .post', я могу увидеть 'response =>' printend в консоли Chrome, но нет ответ возвращается из функции ... – Dillinger