首页 > web前端 > js教程 > 如何修复 jQuery.ajax#get 中的'意外令牌冒号 JSON”错误?

如何修复 jQuery.ajax#get 中的'意外令牌冒号 JSON”错误?

Barbara Streisand
发布: 2024-10-19 22:57:02
原创
631 人浏览过

How to Fix the

解决 jQuery.ajax#get 中的“意外令牌冒号 JSON”错误

在尝试从简约 API 检索 JSON 数据时当您在 Node.js 中创建时,您在 Chrome 中遇到了“Unexpected token :”错误。此错误通常是由于服务器的预期 JSON 响应与实际 JSON 响应不匹配而发生。

使用 jQuery.ajax#get 进行 AJAX 调用并将 dataType 指定为 'jsonp' 时,服务器响应需要“填充”(P) 以支持 JSONP 请求。 JSONP 是一种通过将 JSON 数据包装在函数调用中来允许跨域请求的技术。

要解决此问题,您需要修改服务器端代码以在响应中包含填充。在 Node.js 代码中,添加以下行:

var callback = req.query.callback;
var data = JSON.stringify({
    Name : "Tom",
    Description : "Hello it's me!"
});

if (callback) {
    res.setHeader('Content-Type', 'text/javascript');
    res.end(callback + '(' + data + ')');
} else {
    res.setHeader('Content-Type', 'application/json');
    res.end(data);
}
登录后复制

或者,如果您使用的是 Express.js,则可以使用 res.jsonp() 方法,该方法会自动处理添加填充:

app.get( '/', function( req, res ) {
    console.log( 'req received' );

    res.jsonp({
        Name : "Tom",
        Description : "Hello it's me!"
    });
});
登录后复制

通过这些修改,服务器将发送封装在函数调用中的 JSONP 响应,该响应可以由 jQuery.ajax#get 解析,而不会遇到“意外令牌”错误。

以上是如何修复 jQuery.ajax#get 中的'意外令牌冒号 JSON”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板