我正在尝试提醒 ajax 请求捕获的返回值。它引用的 Web 方法返回一个 bool 值 true 或 false,当我试图在 ajax 方法之外访问它时,它会给出一条消息“undefined”:?
<script type="text/javascript" language="javascript">
$(document).ready(function () {
var authInfo;
$.ajax({
type: "POST",
url: "service.asmx/getAuthInfo",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
authInfo = msg.d;
},
});
alert(authInfo);
});
</script>
为什么警报(authInfo)给我“未定义”?请帮忙!
这段代码在什么地方符合上述上下文?
if(auhthInfo){
$(".ansitem").editable('FetchUpdate.aspx', {
style: 'background-color:inherit;',
type: 'textarea',
indicator: '<img src="spinner.gif">',
event: 'dblclick',
onblur: 'submit',
submitdata: function (value, settings) {
return { orgval: value};
},
});
};
最佳答案
您的“$.ajax()”调用是异步,因此在从服务器返回响应之前结果不可用。
如果您将“alert()”放入“成功”回调中,它应该会起作用(如果 HTTP 事务有效)。
关于javascript - "undefined"用于提醒 ajax 调用响应,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8479266/