Javascript jQuery.ajax#get之后出现意外的标记冒号JSON

Javascript jQuery.ajax#get之后出现意外的标记冒号JSON,javascript,jquery,json,node.js,Javascript,Jquery,Json,Node.js,我在nodejs上创建了一个以JSON格式返回数据的极简API 但每次我尝试进行ajax#get调用并将API作为URL传递时,我都会得到一个错误,从Chrome判断,我得到了一个“意外标记:错误 下面是nodejs+express中的服务器代码: 从“/”返回的JSON是:{“Name”:“Tom”,“Description”:“你好,是我!”} 这是我从客户端js打来的电话: $.ajax({ url: findUrl, type: 'get', dataType:

我在nodejs上创建了一个以JSON格式返回数据的极简API

但每次我尝试进行ajax#get调用并将API作为URL传递时,我都会得到一个错误,从Chrome判断,我得到了一个
“意外标记:
错误

下面是nodejs+express中的服务器代码:

“/”
返回的JSON是:
{“Name”:“Tom”,“Description”:“你好,是我!”}

这是我从客户端js打来的电话:

$.ajax({
    url: findUrl,
    type: 'get',
    dataType: 'jsonp',
    success: function ( data ) {
        self.name( data.Name );
        self.description( data.Description );
    },
    error: function( jqXHR, textStatus, errorThrown ) {
        alert(errorThrown);
    }
});
绘制错误时,我得到:
“jquery11108398571682628244\u 1403193212453未被调用”

有人能帮我吗

我知道已经有人问过这个问题,但我还没有找到解决方案来修复我的程序。

如果要使用数据类型:“json”而不是“jsonp”

来支持,服务器必须在响应中包含
p
,或“Padding”

jQuery111108398571682628244_1403193212453({"Name":"Tom","Description":"Hello it's me!"})
语法错误,
“意外标记:”
,是因为JSONP被解析为JavaScript,其中
{…}
也表示。它只是利用JSON和JavaScript的类似语法来定义传递给全局函数调用的数据

默认情况下,jQuery将包含一个带有函数名的
回调
查询字符串参数:

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);
}
ExpressJS还包括已实现此条件的:

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

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

检查你的
数据类型
-@Andreas:我猜你指的是“jsonp”,我把它改成了“json”。我现在看到“XMLHttpRequest无法加载。请求的资源上不存在'Access Control Allow Origin'标头。因此不允许访问Origin'null'。“如何解决此问题?使用jsonp有不同的原因,一个例子是能够跨不同域调用,jsonp用于CORS,如果需要通过javascript发出跨域异步请求,则不能仅使用json。JSONP不适用于CORS。JSONP是我们在CORS被开发出来并得到浏览器支持之前使用的黑客。谢谢你澄清我的意思。JSONP适用于无法使用CORS的情况。JSONP请求的答案中的链接已断开。请更新。
app.get( '/', function( req, res ) {
    console.log( 'req received' );

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