当从node.js返回json时,无法将内容类型设置为application/javascript

Could not set content type to application/javascript while returning jsonp from node.js

本文关键字:类型 设置 javascript application 返回 js node json 当从      更新时间:2023-09-26

一个小问题:

下面的代码按照预期从文件返回json内容的json,但是响应的内容类型是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 repo: https://github.com/james-singh/JSONP-Tester/blob/master/app.js

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

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

function jsonp_callback(data) {
    console.log(data);
} 
$http.jsonp("http://localhost:8080/jsonp?callback=jsonp_callback");