2017-07-22 38 views
0

我搜索了網頁,好像很多人都遇到了這個問題,但我似乎沒有遇到同樣的問題,我可以找到其他人。問題是,如果我將url更改爲https://jsonplaceholder.typicode.com/posts/1,但下面的代碼似乎無法在我的web api項目上工作。它也不適用於託管的一方。ajax調用web api 2的錯誤代碼0 c#

我已經在api項目中設置了一個調試器,但它不會被擊中。如果我從郵遞員那裏打電話,它工作正常。所以我似乎能夠從這個Ajax調用請求到另一個URL。我也可以從郵遞員那裏收到api的請求。它只是從網站 - > API,由於某種原因不起作用。

問題

任何人有任何線索,爲什麼這會從我的站點叫我的網頁API返回錯誤代碼0?任何幫助或輸入是高度讚賞,謝謝!

$("#testbutton").click(function() { 

$.ajax({ 
    type: "GET", 
    url: "http://localhost:44834/api/test", 
    dataType: "json", 
    success: function(data) { 
      alert(data); 
    }, 
    error: function (response) { 
     alert("error " + response.status); 
    } 
}); 

return false; 
}); 

編輯

Enable CORS in Web API 2幫我把它清除出來。

+0

請參閱此。可能有幫助。 https://stackoverflow.com/a/43838826/4997688 –

+0

[在Web API 2中啓用CORS]的可能重複(https://stackoverflow.com/questions/18619656/enable-cors-in-web-api-2 ) – mattias

回答

1

看起來像標題問題。它與CORS有關。 如果你將下面一行寫入你的主入口文件,就像使用php,index.php,那麼你的調用與Ajax會起作用。

header("Access-Control-Allow-Origin: *"); 
+0

這應該在api中還是在網站中?謝謝你的回答 – mattias

+0

這應該在API代碼文件中。 –

+0

好的,謝謝,我已經添加了,但問題仍然存在 – mattias