我在 nodejs 上创建了一个简约的API,该API 以JSON格式返回数据。
但是每次我尝试进行ajax#get调用并将API作为URL传递时,我都会收到错误消息,从Chrome判断,我得到了"Unexpected token :"
错误消息。
这是 nodejs + express中 的服务器代码:
var
http = require( 'http' ),
express = require( 'express' ),
app = express(),
server = http.createServer( app );
app.get( '/', function( req, res ) {
console.log( 'req received' );
res.setHeader('Content-Type', 'application/json');
res.end( JSON.stringify({
Name : "Tom",
Description : "Hello it's me!"
}) );
});
server.listen(3000, function() {
console.log( 'Listening on 3000' );
});
从返回的JSON "/"
是:{"Name":"Tom","Description":"Hello it's me!"}
。
这是我从客户端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);
}
});
当绘制错误时,我得到: "jQuery111108398571682628244_1403193212453 was not called"
有人能帮我吗?
我知道已经问过这个问题,但是我还没有找到解决我程序的解决方案。
为了支持JSONP请求,服务器必须在响应中包含P
或“Padding ”。
jQuery111108398571682628244_1403193212453({"Name":"Tom","Description":"Hello it's me!"})
语法错误,"Unexpected token:"
是因为JSONP被解析为JavaScript,其中JSON{...}
也代表blocks。它仅利用JSON和JavaScript的相似语法来定义要传递给全局函数调用的数据。
默认情况下,jQuery将包含callback
带有函数名称的query-string参数:
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还包括res.jsonp()
已经实现此条件的:
app.get( '/', function( req, res ) {
console.log( 'req received' );
res.jsonp({
Name : "Tom",
Description : "Hello it's me!"
});
});
问题内容: // if the box is outside the window, move it to the end function checkEdge() { var windowsLeftEdge = $(‘#window’).position().left; 我在上面提到的行上收到了UncaughtSyntaxError:意外的令牌ILLEGAL。它仅在GoogleChrome和Sa
我已经为连接的组件创建了测试。在一个文件中,我导入位于项目根文件夹外部的“本地化”模块。它没有被编译到ES5,Jest报告了同步错误:意外令牌导出。如何强制Jest转换该文件? 我有。带环境预设的巴别LRC。 package.json
本文向大家介绍意外的令牌相关面试题,主要包含被问及意外的令牌时的应答技巧和注意事项,需要的朋友参考一下 您的JavaScript表示使用JSONP模式发出Ajax请求(这涉及将元素插入文档中而不是使用XMLHttpRequest)。 您得到的响应是一个XML文档,而不是遵循JSONP模式的JavaScript程序,它类似于: 因为浏览器试图将XML作为JavaScript执行(不是),您会收到错误
问题内容: 为什么每次我做时:- 它只是解析很好,但是当我这样做时:- 它给我一个错误,说:- 问题答案: 您要它解析JSON文本(不是)。那是无效的JSON,字符串必须用双引号引起来。 如果要与第一个示例等效:
问题内容: 我一直在尝试从Steam API中提取数据,但没有运气,因为我总是会遇到上述错误。这是我正在使用的代码: 我省略了我的API密钥。我看过许多其他帖子,但无法弄清楚问题出在哪里。我试过使用Jsonp,常规json,也试过使用after ,但无济于事。 问题答案: 解决方案是添加一个您的jQuery代码将调用的本地代理。您的代理将是服务器端代码(PHP,Python,Ruby等),它将查询
问题内容: 更新:- 好像我必须提供返回XML的URL。这是-URL 解析xml时出现SAXParseException。我尝试解析的xml如下- 我用来解析此xml的代码如下- 我正在使用相同的代码来解析其他xml数据,并且可以正常工作。我无法理解此xml数据中的内容,这阻止了它正确地解析数据。我也在线检查了许多xml验证程序的xml。 我一定在这里想念一些明显的东西。 编辑:- 我正在尝试解析