簡體   English   中英

XMLHttpRequest無法加載http:// localhost:8089 / jquery。 Access-Control-Allow-Origin不允許使用原點null

[英]XMLHttpRequest cannot load http://localhost:8089/jquery. Origin null is not allowed by Access-Control-Allow-Origin

我正在嘗試使用chrome從jquery(ajax)中訪問Web服務。 但是,當我嘗試調用Web服務時,出現以下錯誤,甚至沒有到達服務器

Error :XMLHttpRequest cannot load http://tomohamm-t420:8089/jquery. Origin null is not allowed by Access-Control-Allow-Origin.

下面是我正在使用的一個示例ajax調用://將W / S-Request查詢構建為String對象。

var id = '123';

var query = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://www.tibco.com/schemas/jQuerySample/jquery/Schema.xsd"';
query += '<soapenv:Header/';
query += '<soapenv:Body';
query += '<sch:EmpDetailsRequest';
query += '<sch:empID' + id + '</sch:empID';
query += '</sch:EmpDetailsRequest';
query += '</soapenv:Body';
query += '</soapenv:Envelope';

// set end point url..
var endpointUrl = 'http://tomohamm-t420:8089/jquery';

//ajax call to W/S..
$.ajax({
    url : endpointUrl,
    type : "POST",
    beforeSend : function(xhr) {
    xhr.setRequestHeader("SOAPAction", "/GetEmpByID");
},
data : query,
dataType : "xml",
contentType : "text/xml; charset=\"utf-8\"",
complete : function(xmldata,stat,response) {
    console.log("W/S-Response: "+xmldata.responseText);
},
success : function(data) {
    console.log('W/S Successful!');
},
error : function(textStatus, errorThrown) {
    console.log('W/S Failed!');
    console.log('Error Status :: ' +textStatus);
    console.log('Error Message :: ' +errorThrown);
}
});

我找到了避免此問題的方法。 那就是我必須使用以下命令打開chrome:cd C:\\ Program Files(x86)\\ Google \\ Chrome \\ Application Chrome.exe --disable-web-security

但這不能在嘗試打開我的應用程序的每台機器上完成。 那么是否有在jquery應用程序中包含此設置,以便我可以直接打開chrome並運行它?

我猜您正在從本地文件進行Ajax調用,對嗎? 如果要執行此操作,則需要一些服務器端編碼。

在服務器端處理ajax請求並發送響應的服務器端嘗試此操作,將Access-Control-Allow-Origin標頭添加到HTTP響應並將值設置為* 這是一段Java代碼供您參考。

response.setHeader("Access-Control-Allow-Origin", "*")

不。如果您不控制端點,最好的選擇是通過自己的服務器代理請求,並添加適當的Access-Control-Allow-Origin標頭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM