簡體   English   中英

asp.net Web api AJAX狀態0

[英]asp.net web api AJAX status 0

我正在嘗試使用asp.net Web API創建基本的REST POST,但是它返回錯誤狀態:0。而且看起來AJAX請求失敗

我的控制器:

[HttpPost]
    public myData Post( myData m)
    {
        return m;
    }

我的課:

public class CLData
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}

我的HTML請求:

    <html>

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>

<body>
    <script>
        //form encoded data
         var dataType = 'application/x-www-form-urlencoded; charset=utf-8';
         var data = $('form').serialize();

         //JSON data
         var dataType = 'application/json; charset=utf-8';
         var data = {
            FirstName: 'Andrew',
            LastName: 'Lock',
            Age: 31
         }

         console.log('Submitting form...');
         $.ajax({
            type: 'POST',
            url: 'http://localhost:52884/api/contact',
            dataType: 'json',
            contentType: dataType,
            data: data,
            success: function(result) {
                console.log('Data received: ');
                console.log(result);
            },
            error: function(error){
                console.log('Error: ');
                console.log(error);
            }
        });
    </script>
</body>

</html>

我不知道為什么我的控制台日志是:

Submitting form..
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:52884/api/contact. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Error: 
Object with status: 0

有人知道我在做什么錯嗎? 我只是想學習Web API,這就是這個示例如此簡單的原因。

如果您的應用程序不能同時提供Web視圖和API終結點,則需要啟用跨域請求。 為此,您需要在WebAPI項目中配置Cors。 您可以在Microsoft參考頁上找到詳細的操作方法。

但是,要點是要安裝nuget pacakge Microsoft.AspNet.WebApi.Cors 您可以通過執行Install-Package Microsoft.AspNet.WebApi.Cors 從那里,您將更新WebApiConfig Register方法,使其包含config.EnableCors(); 在頂部。

接下來,您將使用[EnableCors]屬性裝飾控制器類。 從那里,您應該能夠發出跨域請求。

暫無
暫無

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

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