Tôi đang cố gắng xây dựng một ứng dụng góc để truy cập dữ liệu từ cơ sở dữ liệu MarkLogic. Tôi đang sử dụng API còn lại MarkLogic để truy cập dữ liệu. Khi tôi cố gắng chạy ứng dụng, tôi nhận được lỗi sau.Lỗi 'Truy cập-Kiểm soát-Cho phép-Xuất xứ' ngay cả sau khi làm theo 2 cách tiếp cận
XMLHttpRequest không thể tải http://192.168.192.75:9550/v1/keyvalue?element=fieldId&value=1005&format=json. 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 đó, nguồn gốc 'http://localhost:8080' không được phép truy cập .
Tôi đã đọc rất nhiều câu trả lời liên quan đến vấn đề này trên stackoverflow nhưng không thể nhận được bất cứ điều gì làm việc. Đây là những gì tôi đã thử cho đến bây giờ.
1) Setting the response header using xdmp in qconsole
xdmp:add-response-header("Access-Control-Allow-Origin", "*");
xdmp:add-response-header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
xdmp:add-response-header("Access-Control-Allow-Headers", "x-requested-with, X-Auth-Token, Content-Type");
2) Tried to add headers by using REST [Extention][1]. Here is the example.sjs file which I wrote.
a) function get(context, params) {
var results = [];
context.outputTypes = [];
for (var pname in params) {
if (params.hasOwnProperty(pname)) {
results.push({name: pname, value: params[pname]});
context.outputTypes.push('application/json');
}
}
context.outputStatus = [201, 'Created My New Resource'];
context.outputHeaders =
{'Access-Control-Allow-Origin' : '*', 'Access-Control-Allow-Methods' : 'GET, OPTIONS, DELETE', 'Access-Control-Allow-Headers' : 'x-requested-with, X-Auth-Token, Content-Type'};
return xdmp.arrayValues(results);
};
exports.GET = get;
b) curl --anyauth --user admin:admin -X PUT -i -H "Content-type: application/vnd.marklogic-javascript" --data-binary @./example.sjs http://192.168.192.75:9550/LATEST/config/resources/example
Dường như cách này cũng không hoạt động. Bất cứ ai có thể vui lòng cho tôi biết nếu tôi làm gì sai? hoặc Nếu có cách nào khác để làm việc này? Cảm ơn trước.
@Tang cảm ơn câu trả lời của bạn. Tôi đã nhìn vào cách tiếp cận 2 tầng. tức là Góc với Marklogic bằng cách sử dụng API Rest. Tôi tìm thấy một cách thay thế như bây giờ để đạt được điều này. Tôi sẽ đăng nó ngay bây giờ. – DMA