jquery的ajax问题

topwu87 2010-04-15 08:20:44
在jquery 的$.ajax({}) 方法中,比如
$.ajax({
type: "POST",
url: "GetChildNodes.aspx",
data:postData,
success: function(msg){
alert(msg);
}
});
资料上说返回的是一个XMLHttpRequest 对象,但我获取它的responseText都为空。
在success的方法中获取msg则能获的到服务器的响应信息。
服务器响应信息直接是Response.Write("value");
第一次用,也不知道哪里不对,请前辈指点
...全文
101 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ripya 2010-04-16
  • 打赏
  • 举报
回复
mark
antony1029 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 itliyi 的回复:]
JScript code

function test(){
var returnValue="";
$.ajax({
type: "POST",
url: "GetChildNodes.aspx",
data:postData,
error:function{returnValue="error";},
success: function(msg){……
[/Quote]
这个要同步的才可以。异步的会返回空的。
呼吸先生 2010-04-16
  • 打赏
  • 举报
回复
学习了。。
lovebin_bin 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 licip 的回复:]
楼上朋友的是可以,不过,要改成同步的才行。
function test(){
var returnValue="";
$.ajax({
type: "POST",
sync:true,
url: "GetChildNodes.aspx",
data:postData,
error:function{returnValue="error";},
su……
[/Quote]

顶了
licip 2010-04-16
  • 打赏
  • 举报
回复
楼上朋友的是可以,不过,要改成同步的才行。
function test(){
var returnValue="";
$.ajax({
type: "POST",
sync:true,
url: "GetChildNodes.aspx",
data:postData,
error:function{returnValue="error";},
success: function(msg){
returnValue=msg; }
});
return returnValue;
}
topwu87 2010-04-16
  • 打赏
  • 举报
回复
搞定了! $.ajax({}).responseText 可以获取到传回的值,只是async属性需要为false。同步的才可以。
topwu87 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ibm_hoojo 的回复:]

CSS code

首先在浏览器中请求GetChildNodes.aspx,如果打印了value说明有值。
那么请求就是正确的,
data是请求传递的参数,格式:data: "name=John&location=Boston",
请求成功后会执行success函数
msg是返回的值,alert(msg);就是Response.Write("value");了
$.get
$.post……
[/Quote]

data的值是从外面传下来的,服务器端已经成功的接收到,success函数也能够正确的alert出msg的值,但是我不希望在它的success函数内部进行操作,我需要在$.ajax的的外部获取到传回的值。
比如我有一个方法调用的是上面的那个$.ajax,我需要让这个方法返回一个值,这个值就是$.ajax传回来的值...
也谢谢上边的那位朋友。
guansong8079776 2010-04-16
  • 打赏
  • 举报
回复


//如果是这个函数需要使用ajax的返回结果
function myfunction(servervalue)
{
alert(servervalue);
}
//那代码可以这样
$.ajax({
type: "POST",
sync:true,
url: "GetChildNodes.aspx",
data:postData,
success: myfunction
});
guansong8079776 2010-04-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 itliyi 的回复:]

JScript code

function test(){
var returnValue="";
$.ajax({
type: "POST",
url: "GetChildNodes.aspx",
data:postData,
error:function{returnValue="error";},
success: function(msg){
re……
[/Quote]
这个肯定得同步的,因为在return 时 seccess还没有执行,ajax请求虽然发送出去了,但返回是需要时间的
如果外部要使用的话可以考虑在success中直接掉一个函数

//如果是这个函数需要使用ajax的返回结果
function myfunction(servervalue)
{
alert(servervalue);
}
//那代码可以这样
$.ajax({
type: "POST",
sync:true,
url: "GetChildNodes.aspx",
data:postData,
error:function{returnValue="error";},
success: myfunction
hoojo 2010-04-15
  • 打赏
  • 举报
回复

首先在浏览器中请求GetChildNodes.aspx,如果打印了value说明有值。
那么请求就是正确的,
data是请求传递的参数,格式:data: "name=John&location=Boston",
请求成功后会执行success函数
msg是返回的值,alert(msg);就是Response.Write("value");了
$.get
$.post 会更简单些。

52,797

社区成员

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

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