Tôi đã tạo API tối giản trên nodejs để trả về dữ liệu ở định dạng JSON.Mã thông báo không xác định của dấu hai chấm JSON sau jQuery.ajax # get
Nhưng mỗi khi tôi cố gắng thực hiện ajax # nhận cuộc gọi và chuyển API của tôi dưới dạng URL, tôi sẽ gặp lỗi và đánh giá từ Chrome, tôi gặp lỗi "Unexpected token :"
;
đây mã máy chủ trong nodejs + bày tỏ:
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');
});
Các JSON trở về từ "/"
là: {"Name":"Tom","Description":"Hello it's me!"}
.
Đây là cuộc gọi của tôi từ js khách hàng:
$.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);
}
});
Khi vẽ lỗi tôi nhận được: "jQuery111108398571682628244_1403193212453 was not called"
Ai đó có thể giúp tôi?
Tôi biết câu hỏi này đã được hỏi nhưng tôi chưa tìm được giải pháp sửa chương trình của mình.
Kiểm tra 'datatype của bạn '- [$ .ajax()] (http://api.jquery.com/jquery.ajax/) – Andreas
@Andreas: Tôi đoán bạn đề cập đến" jsonp ", tôi đã đổi thành" json ". Bây giờ tôi nhận được "XMLHttpRequest không thể tải http: // localhost: 3000 /. Không có tiêu đề 'Access-Control-Allow-Origin' xuất hiện trên tài nguyên được yêu cầu. Do đó, origin 'null' không được phép truy cập." Làm thế nào tôi có thể sửa lỗi này ? –