2016-11-02 170 views
0

我要發送Ajax請求我的本地服務器,這裏是我的:Ajax請求不準 - POST請求

function getNewsFromDB() { 
    var httpUrl = "http://10.0.0.2:8080/Rosh/" + 'Get_News'; 
    $.ajax({ 
     type: 'POST', 
     url: httpUrl, 
     data: '{"MESSAGE_TYPE":"GET_NEWS","VERSION": "1","CITY":"ROSH_HAAIN"}', 
     dataType: 'json', 
     crossDomain: true, 
     success: function(data) { 
      window.alert("success"); 
     }, 
     error: function(xhr,textStatus,err) { 
      window.alert(JSON.stringify(xhr) + " ... " + textStatus + " ... " + err); 
     } 
    }); 
} 

我也有這樣的服務器端代碼來處理請求:

res.setContentType("application/json"); 

try 
{ 
    res.addHeader("Access-Control-Allow-Credentials", "true"); 
    res.setHeader("Access-Control-Allow-Origin", "*"); 
    res.setHeader("Access-Control-Allow-Methods", "*"); 
    res.setHeader("Access-Control-Allow-Headers", "X-Requested-With,Host,User-Agent,Accept,Accept-Language,Accept-Encoding,Accept-Charset,Keep-Alive,Connection,Referer,Origin"); 
    res.setHeader("Access-Control-Max-Age", "8080"); 
    res.setCharacterEncoding("utf-8"); 
    res.getWriter().write(response); 
} 
catch (IOException e) 
{ 
    // TODO Auto-generated catch block 
} 

當我運行我的代碼,我看到在瀏覽器上一個對話框,指出: 「就緒狀態:0,響應文本:」」狀態:0,狀態文本:‘錯誤’;

我不知道是什麼這個對話意味着,請求尚未到達我的服務器。

我也看到了這個錯誤:

XMLHttpRequest cannot load http://10.0.0.2:8080/Rosh/Get_News . No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' http://localhost:8000 ' is therefore not allowed access. The response had HTTP status code 404.

是否有人有任何想法是錯誤的,我的代碼?

+0

響應沒有'Access-Control-Allow-Origin'標頭集。你的代碼似乎包含它,所以仔細檢查你做的是否正確。 –

+0

服務器如何實施? –

+0

你可以在回答中添加它嗎?我現在不知道如何以及在哪裏添加它... – foo

回答

0

好的。 我的問題是,我的服務器庫文件夾中沒有一些jar文件。 以下是丟失文件的名稱: 1. twilio-java-sdk-3.3.12.jar。 2. jackson-all-1.9.0.jar。

將它們添加到構建路徑,它工作的很好!

謝謝你的幫助。