Tôi đã nghiên cứu câu hỏi này một số tiền vô lý và hy vọng rằng ai đó có thể giúp chẩn đoán những gì là sai.JsonP trả về "Uncaught SyntaxError: Mã thông báo không mong muốn:" AngularJS - routingnumbers.info
Tôi đã cố gắng nhìn vào SO câu hỏi sau: (SO sẽ không cho phép tôi gửi hơn 2 liên kết do danh tiếng, vì vậy tôi đã chỉ bao gồm các đường dẫn)
- questions/16344933/angularjs-jsonp-not-working/16352746#16352746
- questions/19269153/jsonp-request-in-angularjs-doesnt-work-like-in-jquery
- questions/19669044/angularjs-getting-syntax-error-in-returned-json-from-http-jsonp
Trong số nhiều người khác ......
Những điều tôi đã cố gắng: Tôi đã thêm & callback = JSON_CALLBACK đến cuối url. Tôi đã thay đổi cài đặt cấu hình như responseType: 'JSON'. Tôi cũng sắp xếp lại theo yêu cầu http.jsonp nhiều lần để chắc chắn rằng nó không phải là một cái gì đó theo chương trình/văn bản ( http ({}) & http.jsonp)
Dưới đây là những gì tôi đang cố gắng để làm: Lấy thông tin từ routingnumbers.info/api/ sử dụng yêu cầu jsonp góc (máy chủ không cho phép CORS). Tôi có thể thực hiện yêu cầu thành công với jQuery, nhưng tôi không thể làm cho nó thành công với góc cạnh.
Đây là thử nghiệm fiddle tương ứng:http://jsfiddle.net/dqcpa/14/
Như bạn thấy, tôi nhận được hai lỗi:
- Resource hiểu là Script nhưng chuyển với kiểu MIME text/plain: " https://routingnumbers.herokuapp.com/api/data.json?rn=071000013&callback=angular.callbacks._0 ". angular.min.js: 97
- của router Lỗi Cú pháp: Bất ngờ mã thông báo:
Nhưng nếu bạn đánh dấu vào câu trả lời trong DevTools chrome - NETWORK, nó là chính xác: Mặc dù tôi biết jsonp rằng sẽ trả lại phản ứng bên trong của jsonpfunction ({"MyJson": "Data"}) là nơi nó được treo lên tại.
Đây là mã gốc:
//$scope.number = '071000013';
var routingApiUrl = 'https://routingnumbers.herokuapp.com/api/data.json?rn=' + $scope.number;
$http({
method: 'jsonp',
url: routingApiUrl + '&callback=JSON_CALLBACK',
responseType: "json"
}).
success(function(data){
console.log('Success: ' + data);
}).
error(function(data){
console.log('Error: ' + data);
});
Có ai sử dụng API này với góc? Tôi giả sử rằng có thể có điều gì đó tôi có thể làm (sans jquery) để sửa đổi tiêu đề, nhưng tôi đã không thể tìm thấy bất kỳ thông tin nào. Tôi cũng nghĩ rằng nó có thể là một vấn đề máy chủ (mặc dù, nếu nó đang làm việc một cách chính xác trong jquery, đó sẽ không phải là vấn đề). Có thể điều này có thể là một cái gì đó với HTTPS
TL: DR - Yêu cầu JSONP góc không hoạt động nhưng với cùng một URL, yêu cầu JSONP của jQuery đang hoạt động. Tham khảo mã trên, tôi đang thiếu gì?
Mọi trợ giúp đều tuyệt vời!
EDIT: Một số dấu câu và nội dung.
không bạn cần phải thêm '? callback =' vs '& callback ='? Đó là dấu hỏi, không phải là dấu và –
Đã có một? Rn = trên URL. xem routingApiUrl. Sử dụng & như là một sự tiếp nối của chuỗi truy vấn. – dannypaz