gpt4 book ai didi

javascript - 如何在ajax回调中从 'success'调用代码隐藏方法?

转载 作者:行者123 更新时间:2023-11-28 08:54:22 24 4
gpt4 key购买 nike

如何修改以下代码以使用“成功”在代码隐藏中调用 testMethod() ?我需要等待 testMestod() 的返回值并处理它。

$.ajax( { 

url : 'myPage.aspx/testMethod',
type : "POST",
contentType : "application/json; charset=utf-8",
data : "{'name':'" + aNb + "'}",
dataType : "json"

}).done(function() {
alert("ok");
}).fail(function() {
alert("not ok");
});

上面的代码不起作用,因为不知何故最新的 JQuery 版本 (1.10.1) 被 1.3.2 覆盖。

谢谢

最佳答案

您需要将回调函数传递给包装 $(ajax) 的函数。

function getData(ajaxQuery, callBack){    
var ajaxHREF = 'your url';
$.ajax({
url: ajaxHREF,
type: "post",
data: ajaxQuery,
beforeSend: function ( xhr ) {
xhr.overrideMimeType("application/json");
},
success: function(response, textStatus, jqXHR){
var jsonData = $.parseJSON(response);
callBack (jsonData);
},

但是,更好的方法是举办全局成功事件。这样做更好,因为您可以使用调用的所有属性来启用结果的动态处理。创建全局成功事件 inline = $(document).ajaxSuccess ,所有 jquery ajax 成功事件都会调用此事件,因此您需要区分哪些调用适用于您的特定处理程序(适用于每个全局处理程序)。

$(document).ajaxSuccess(function(event, xhr, settings) {
var query = settings.data;
var mimeType = settings.mimeType;
if (query.match(/ameaningfulvalueforthishandler/)){
if(mimeType.match(/application\/json/)){
var jsonData = $.parseJSON(xhr.responseText);
}
}
}

关于javascript - 如何在ajax回调中从 'success'调用代码隐藏方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18707724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com