2013-05-08 1 views
0

한 빠른 질문 :응용 프로그램/자바 스크립트 콘텐츠 유형을 설정할 수 없습니다

예상대로 다음 코드는 파일에서 JSON 콘텐츠와 JSONP 반환

하지만, 응답의 콘텐츠 유형 텍스트/자바 스크립트입니다. 어떻게 그것을 응용 프로그램/자바 스크립트로 변환 할 수 있습니까?

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

+0

'/ 자바 스크립트 텍스트', 왜 응용 프로그램 '으로 설정 하시겠습니까 /javascript ' – ltebean

+0

잘 모르겠습니다. 내 서버가 텍스트/자바 스크립트 콘텐츠 유형으로 jsonp 콘텐트를 던져서 내 클라이언트 애플리케이션이 angularjs에 빌드 된 $ 리소스를 사용하여 소비하지 못하게합니다. 그래도 $ ajax로 응답을 읽을 수는 있지만 $ 자원을 사용하여 소비 할 수 있어야합니다. – James

+0

질문에 angularjs 코드를 게시 할 수 있습니까? – ltebean

답변

0

'텍스트/자바 스크립트'는 JSONP 응답에 적합한 콘텐츠 유형입니다. 당신이 AngularJS와의 JSONP 요청을 보내려면

,이 시도 :

function jsonp_callback(data) { 
    console.log(data); 
} 
$http.jsonp("http://localhost:8080/jsonp?callback=jsonp_callback"); 
가 JSONP 응답에 대한 올바른 콘텐츠 형식이다
+0

예, 나중에 $ http를 사용하여 호출 할 때 text/javascript로 작업했습니다. – James

관련 문제