Obejct 是 ajax 调用后的 Jquery 给出 null
我正在通过点击进行呼叫,这将转到服务器呼叫。
$(this).click(function(){
alert($(this).html()); //this is giving value
var urlLink = someURL;
var data = "id=" + "123";
$.ajax({
url : urlLink,
data : data,
cache: false,
success : function(resp) {
alert($(this).html()); //this is giving null
}
});
});
成功后,如果我发出相同的警报,则给出 null。任何人都可以提供一个想法,出了什么问题。
I am giving a call with click, and this will go to server call.
$(this).click(function(){
alert($(this).html()); //this is giving value
var urlLink = someURL;
var data = "id=" + "123";
$.ajax({
url : urlLink,
data : data,
cache: false,
success : function(resp) {
alert($(this).html()); //this is giving null
}
});
});
Once after success, if i alert the same giving null. could any once please give an idea, what's going wrong.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
来自 jQuery 文档:
设置 ajax 对象的
context
选项,或者将该对象保存在回调函数范围之外的变量中。From the jQuery documentation:
Either set the
context
option of the ajax object, or save the object in a variable outside the scope of the callback function.首先,
success
函数中的$(this)
语句的范围与 AJAX 调用返回的数据相关。您的第一个
$(this)
语句引用被单击的元素。尝试将 success cal 更改为以下内容以查看返回的警报数据:
如果仍然显示空值,则 AJAX 调用的服务器端执行的代码可能存在潜在问题。
First of all the scope of the
$(this)
statement in yoursuccess
function relates to the data returned from the AJAX call.Your first
$(this)
statement refers to the element which was clicked on.Try changing the success cal to the below to see the returned data alerted:
If this still shows an empty value there may be an underlying issue with the code executed on the server-side of the AJAX call.