当前位置: 首页 > 面试题库 >

jQuery Ajax导致未定义

潘星阑
2023-03-14
问题内容

我有一个简单的函数,它仅将翻译后的消息从服务器返回到客户端。但是,当我将结果传递给var时,结果显示为未定义。

function MessageNoResult() {
  $.ajax(
  {
    type: "POST",
    async: true,
    url: '<%= ResolveUrl("~/WebMethods.aspx/MessageNoResult") %>',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
      return msg.d;
    }
  });
}

结果- >未定义(错误)

var message = MessageNoResult();
alert(message);

当我查看标题时,它会给我:

Server  ASP.NET Development Server/9.0.0.0
Date    Wed, 09 Nov 2011 09:01:31 GMT
X-AspNet-Version    2.0.50727
Cache-Control   private, max-age=0
Content-Type    application/json; charset=utf-8
Content-Length  24
Connection  Close

Response {"d":"No search result"}
JSON d "No search result"

为什么我仍然得到不确定的结果?


问题答案:

您可以将回调函数传递给该MessageNoResult函数

function MessageNoResult(callback) {
  $.ajax(
  {
    type: "POST",
    async: true,
    url: '<%= ResolveUrl("~/WebMethods.aspx/MessageNoResult") %>',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(msg) {
      callback(msg);
    }
  });
}

然后调用:

MessageNoResult(function(msg) {
    alert(msg.d);
});


 类似资料:
  • 计算数组长度有一个众所周知的模式: 此模式适用于静态数组和恒定大小的自动数组。它也适用于C99中的可变长度数组。 我想应用类似的想法来计算动态数组的大小(以字节为单位): 这比 更好不是指实际的数组元素类型。因此,它不需要代码的读者知道类型。 然而,我不清楚表达式是否会导致未定义的行为。随着它的扩展: 如果为,则结果表达式有问题: 根据C99标准: (C99,6.3.2.3p3):“具有值 运算符

  • 我有以下firebase云功能: 当该函数被激发时,它应该从对的异步await调用中获取alert_ad的值。然而,当运行该程序时,我在云函数日志中发现一个错误,说明它是未定义的。我不知道为什么会这样。 我如何测试或记录这一点,以确保async/await实际上获得了一个值?

  • 我正在使用顶点着色器、片段着色器和少量纹理图集(包含数十个较小精灵的图像)将精灵绘制到屏幕上。我的目标是为整个场景使用单个绘图调用,因此需要创建一个可以根据属性动态选择纹理的着色器。每个纹理图集都按顺序绑定,并发送一个平面属性以确定要使用的纹理,该纹理的区域由发送。 GLSL 3.30规范规定采样器数组需要一个常量表达式作为索引,但以下编译和链接没有错误(在最新的Nvidia驱动程序上): 我不能

  • 我有一个Spring服务正在检查数据库条目。为了最小化我的存储库调用,两个find方法都是“@cacheable”。但是,当我尝试初始化我的服务bean,而我的配置类有一个CacheManager bean定义时,我会得到以下NosuchBeanDefinitionException: 如果我取出CacheManager bean定义,我可以初始化我的服务bean,它运行时没有任何问题和缓存! 下

  • //为什么这个问题不是(如何在回调中访问正确的“this”?):我的问题是一个特定于反应的问题,访问者可能不会在精神上将上述链接中提出的问题与我正在努力解决的问题联系起来。 我正在尝试存储Firebase auth的onAuthStateChanged函数返回的用户数据,并将该数据存储在状态中,以便在我的react应用程序中使用它。在我的应用程序中,我有以下监听器: 但是我得到错误“TypeErr

  • 当运行我的android项目时,如何知道这个错误的原因?无法确定 null