Я работаю над проблемой peske за последние несколько дней. Я создал объект для обработки сценария входа. Сценарий Логин обрабатывается ведьмой PHP скрипт эха из объекта JSON:jQuery Ajax call object property scope
{'status' : true} // could also be false
запрос Аякса завершает каждый раз, и я могу console.log() его. Проблема заключается в функции обратного вызова. Я попытался следующие допустимые параметры/функции из документации:
complete
success
.done()
В перезвонить я пытаюсь установить свойство объекта/переменной в зависимости от возвращения. Он не видит это назначение до второго запуска скрипта. Я предполагаю, что это происходит из-за того, что что-то выполняется перед другим или проблемой с областью?
Чтобы уточнить: Допустим, скрипт работает, и я вернусь к истине. Затем я хочу установить для свойства объекта значение вместо него. Я помещаю console.log() внутри обратного вызова, и это работает каждый раз, но главный объект не увидит его, если я не отправлю его дважды.
Вот код. Любые вспомогательные услуги:
var loginAuth = {
form : $('form'),
status : false,
init : function() {
loginAuth.ajaxCall();
},
ajaxCall : function(loginData) {
// Get Post variables
var loginData = {
username : $('input[name=username]').val(),
password : $('input[name=password]').val()
};
// Proccess the form
$.ajax(
{
url : "http://localhost/url-where-results-are",
dataType : "json",
type : "post",
data : loginData,
}).done(function(data) {
if(typeof data != 'object')
{
$.parseJSON(data);
} else {
loginAuth.status = data;
console.log(loginAuth.status);
}
});
}
} //// END loginAuth Object ////
попытка изменить console.log (loginAuth.status) в console.log ("MyLog", loginAuth.status) – Kristijan
P.S. это просто, чтобы увидеть, что результат в консоли - это действительно ваш консольный журнал - и убедитесь, что это действительно так. – Kristijan