Javascript Jquery";这是一个;。在ajax成功时MyFunctionName不可用?但在这之前还可以
有人能帮忙吗,我对关键字this有个问题。。在进入ajax调用之前,它是可用的,但是在进入Success时。我的“this”可用,但不包含相同的信息,即我希望调用的方法。。这个例子说明了我的意思 如果有任何帮助,我将不胜感激。在执行ajax之前,可以使用此.isodatereviser。。然后当成功来临时。。此.isoDateReiver未定义Javascript Jquery";这是一个;。在ajax成功时MyFunctionName不可用?但在这之前还可以,javascript,jquery,Javascript,Jquery,有人能帮忙吗,我对关键字this有个问题。。在进入ajax调用之前,它是可用的,但是在进入Success时。我的“this”可用,但不包含相同的信息,即我希望调用的方法。。这个例子说明了我的意思 如果有任何帮助,我将不胜感激。在执行ajax之前,可以使用此.isodatereviser。。然后当成功来临时。。此.isoDateReiver未定义 var data = new Object(); data.year = this.today = new Date().getFullYear();
var data = new Object();
data.year = this.today = new Date().getFullYear();
this.isoDateReviver("yes", "yes"); //// THIS WORKS HERE
$.ajax({
type: "POST",
url: "MyService.aspx/GetHolidays",
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var holidays = JSON.parse(msg.d,
this.isoDateReviver); // THIS DOES NOT WORK its undefined
Calendar.initalizeHolidays(holidays);
},
error: function (msg) {
alert(error);
}
});
这是因为success函数在不同的范围内执行 您需要执行以下操作:
var me = this;
$.ajax({
// etc
success: function(msg) {
var holidays = JSON.parse(msg.d, me.isoDateReviver);
这是因为success函数在不同的范围内执行 您需要执行以下操作:
var me = this;
$.ajax({
// etc
success: function(msg) {
var holidays = JSON.parse(msg.d, me.isoDateReviver);
见:
成功时调用的函数与上次调用此.isoDateReceiver时的上下文不同。请参阅:
成功时调用的函数与上次调用this.isoDateReceiver的上下文不在同一上下文中