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

jQuery JSON响应始终触发ParseError

东方栋
2023-03-14
问题内容

我正在尝试使用jQuery和JSON执行一些基本操作。目前,jQuery在从我的游戏框架应用程序接受JSON响应方面遇到困难。下面是仍然会产生错误的代码的简化版本。

$.ajax({
    type: 'POST',
    url: "@{FrontEnd.isUsernameAvailable()}",
    data: "name=thisnameisavailable",
    cache: false,
    success: function(data) {
        console.log("Success... ");
    },
    error: function(jqXHR, textStatus, errorThrown) {
        console.log("Error... " + textStatus + "        " + errorThrown);
    },
    dataType: 'json'
});

错误回调总是被触发。它显示

错误…未调用parsererror jQuery15001997238997904205_1298484897373

通过Firebug检查返回的JSON不会显示任何错误,并且各种JSON lint工具也都可以验证。将dataType更改为“
text”可以调用成功。但是我正在尝试将isUsernameAvailable调用用作jQuery验证插件的一部分,因此我需要它返回有效的JSON。


问题答案:

也许我误会了,但是您不能将返回数据设置dataTypetext和JSON.parse()吗?

success: function(data) {
    data = JSON.parse(data);
    // process data
},

编辑以添加普遍同意的解决方案(以前仅是注释):

我只是看了一下api.jquery.com/jQuery.ajax,看起来像使用jQuery
1.5一样,您可以进行各种类型的转换。“多个空格分隔的值:从jQuery 1.5开始,jQuery可以将dataType从Content-
Type标头中接收的数据类型转换为所需的数据类型。例如,如果要将文本响应视为XML,请使用“文本xml”(用于dataType)。也许您可以尝试“ text
json”。



 类似资料:
  • 我正在建立一个新的android项目并使用改版,我的改版功能在模拟器(NOX)和邮递员中正常工作,但是当我尝试在移动设备中构建我的应用程序时,改版总是陷入失败,有人能给我解决方案吗?我的API发布在公共主机上, 这就是我所说的改装 我的回应 这是我的邮差回复

  • 更新:我知道了,请看下面的答案。 我有一个AWS API网关api,定义了各种资源和各种GET和POST方法。 一切都很好。帖子正在通过。GET返回一个响应(JSON有效载荷),但返回的值似乎是缓存的值。 我的GET api调用一个Lambda函数,该函数调用对RDS的查询。我可以确认我的回答是过时的,因为: 当我手动查询RDS时,我会得到更新后的值 它确实刷新过一次,但我认为那是因为我越过了一些

  • 我有一个Azure WebJobs,我正在从Visual Studio 2017发布到标准S1应用服务,WebJobs应该由CRON触发,但总是发布为连续,我不知道我做错了什么(另外两个WebJobs发布罚款) 我在根目录下有一个settings.job文件和我的日程安排 我的程序课 以及正在调用的函数

  • 问题内容: 有时候,这种AJAX会触发,有时却不会,我来解释一下。 habit.js 仅在加载显示页面并刷新它之后才会触发,以便终端看起来像这样: 仅加载显示页面一次将无法完成工作,因为选中标记不会触发AJAX(请注意上面的所有GET和下面的GET缺少,我认为这与涡轮链接有关)。 该 显示页面 称为AJAX 这就是AJAX触发的 源代码days_missed_controller.rb 。 这是

  • 我目前正在重构代码,将ViewModel与android提供的LiveData结合起来。拱门图书馆。我有一个简单的活动,它向服务器发送更改密码的请求,并根据HTTP响应代码进行操作。 为此,我创建了一个扩展数据的ViewModel类和一个调用服务器的存储库类。我的ViewModel类有一个MutableLiveData字段,我使用。观察(...)方法从我的活动中订阅它。问题是,在配置更改(即屏幕旋

  • 问题内容: 我试图将自定义错误消息返回给用户,以让他们知道发生错误时出了什么问题,但是我已经尝试了所有方法来显示该消息,并且似乎什么也没有捕捉到。这是我的角度代码: 这是它正在调用的 styleAPIservice 函数: 这是 API 函数: 这是发生错误时返回的内容(例如Style已经存在): 我究竟做错了什么?我觉得自己到处都在搜索,并尝试了所有可能的建议,但是对于为什么我无法显示错误消息我