0

一个快速的问题:

以下代码按预期从文件中返回带有 json 内容的 jsonp,但响应的内容类型是 text/javascript。如何将其转换为应用程序/javascript?

我尝试在 res.jsonp 之前添加标头,但出现了一些问题。

var express = require("express");
var fs = require("fs");

var server = express();
server.set("jsonp callback", true);
server.get("/", function(req, res){
    res.sendfile(__dirname+'/index.html');
});
server.get("/jsonp", function(req, res) {
    fs.readFile( __dirname + '/test.json', function (err, data) {
        if (err) {
            throw err; 
        }
        console.log(data.toString());
        res.jsonp(JSON.parse(data.toString()));
    });
});
server.listen('8000');

感谢帮助!

Github 仓库:https ://github.com/james-singh/JSONP-Tester/blob/master/app.js

4

1 回答 1

0

'text/javascript' 是 jsonp 响应的正确内容类型。

如果你想在 angularjs 中发送一个 jsonp 请求,试试这个:

function jsonp_callback(data) {
    console.log(data);
} 
$http.jsonp("http://localhost:8080/jsonp?callback=jsonp_callback");
于 2013-05-09T06:11:46.150 回答