Jquery中ajax方法load的callback问题。

haoma2514 2011-09-05 11:55:30
  $("#Button2").click(function(event){               
$("#div2").load("AjaxGetCityInfo.aspx", {"resultType": "htmlxyz"}, function(responseText, Status, xhr){
$("#div2").html("这里没效果" + responseText)
});
});

如上代码 我想在红色的function中对返回的responsetext做修改后再赋值给div2,可一直不行。 发现callback方法是先执行。 然后div2才会被赋值。
...全文
421 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bennman 2011-09-05
  • 打赏
  • 举报
回复
这个和你加不加字符串 没影响,只要是写在callback函数里
当然 load默认的是异步传输,写在ajax后面的函数,可能会比callback函数先执行;
haoma2514 2011-09-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bennman 的回复:]
测试了下没问题,你赋值的方法本来就是放在callback函数里的
[/Quote]

你测试了 可以自己加上一个字符串和返回的responsetext再赋值给div2吗?
bennman 2011-09-05
  • 打赏
  • 举报
回复
测试了下没问题,你赋值的方法本来就是放在callback函数里的
haoma2514 2011-09-05
  • 打赏
  • 举报
回复
我的问题出来了。。 晕的要死。 上面的帖的那些代码都没错。。
问题出在一个小细节上:可能是昨天熬夜太晚、抽烟太多头脑模糊所致。我把
$("#div2").html("这里没效果" + responseText)这行写成了
$("#div2").html="这里没效果" + responseText;当js中的innerHTML弄了。。
wujun_dry 2011-09-05
  • 打赏
  • 举报
回复
使用
$.ajax({
url: 'http://localhost/',
data: {},
async: false, //设置请求方式为同步
success : function(responseText){
$("#div2").html("这里没效果" + responseText)
}
});
haoma2514 2011-09-05
  • 打赏
  • 举报
回复
这个csdn里面的代码怎么不自动格式化啊。。全都成一行了。

$("#btnAjaxCallBack").click(function(event){
//发送Post请求, 返回后执行回调函数.
$("#divResult").load("../data/AjaxGetMethod.aspx",
{ "param": "btnAjaxCallBack_click" },
function(responseText, textStatus, XMLHttpRequest)
{
responseText = " Add in the CallBack Function! <br/>" + responseText;
$("#divResult").html(responseText); //或者: $(this).html(responseText);
});
});


也就是说function里面的两行代码根本没用上。。
haoma2514 2011-09-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bennman 的回复:]
这个和你加不加字符串 没影响,只要是写在callback函数里
当然 load默认的是异步传输,写在ajax后面的函数,可能会比callback函数先执行;
[/Quote]

问题是我就是想给ajax请求返回的文本加上一段字符串啊, 可就是加不上。
$("#btnAjaxCallBack").click(function(event)              {                  //发送Post请求, 返回后执行回调函数.                  $("#divResult").load("../data/AjaxGetMethod.aspx", { "param": "btnAjaxCallBack_click" }, function(responseText, textStatus, XMLHttpRequest)                  {                      responseText = " Add in the CallBack Function! <br/>" + responseText                      $("#divResult").html(responseText); //或者: $(this).html(responseText);                  });              });  



 responseText = " Add in the CallBack Function! <br/>" + responseText                      $("#divResult").html(responseText);

这两句根本就没效果,但是如果只是在callback函数里面alert()就可以弹出来证明函数还是执行了的。 怎么办呢?

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧