Tôi có một số tệp html/js cục bộ mà tôi muốn gọi một số máy chủ từ xa qua https và cuối cùng sử dụng Xác thực cơ bản cho yêu cầu.Xác thực cơ bản với yêu cầu jQuery.ajax và jsonp
Tôi đang gặp phải hai vấn đề. Đầu tiên là nếu tôi không chỉ định 'jsonp' cho datatype, jQuery.ajax() yêu cầu trả về lỗi:
Access to restricted URI denied code: 1012
đang yêu cầu tôi coi cross-domain vì tập tin công việc chính của tôi được lưu trữ tại địa phương, nhưng truy xuất dữ liệu từ máy chủ ở nơi khác?
Vì vậy, tốt, tôi cập nhật các cuộc gọi để nó bây giờ trông giống như:
$.ajax({
url: myServerUrl,
type: "GET",
dataType: "jsonp", // considered a cross domain Ajax request if not specified
username: myUsername,
password: myPassword,
success: function(result)
{
// success handling
},
error: function(req, status, errThrown){
// error handling
}
})
Bởi vì tôi cần phải sử dụng Basic Authentication, tôi đi qua trong tên người dùng/mật khẩu nhưng nếu tôi theo dõi các yêu cầu, tôi don không nhìn thấy nó được thiết lập và bổ sung, máy chủ sẽ gửi một phản ứng lỗi vì nó không có thông tin dự kiến.
Ngoài ra, vì tôi có jsonp
đặt, beforeSend
sẽ không được gọi.
Làm cách nào để chuyển các thông tin xác thực bằng Xác thực cơ bản cho yêu cầu này?
Đây là câu trả lời đúng, JSONP không thể chứa tiêu đề USER/PWD mà Yêu cầu cơ bản yêu cầu. Vì vậy, bạn đang damned nếu bạn làm và damned nếu bạn không :) –