无法加载资源:服务器响应状态为405

时间:2016-07-21 11:21:40

标签: jquery asp.net ajax get cors

 $.ajax(
    {
        type: "GET",
        url: 'http://localhost:2986/api/SatinalmaSiparisleri/getSatinAlmaSiparisleri',
        data: "{}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        cache: false,
        success: function (data) {

            var trHTML = '';
            var j = 99;
            for (var i = 0; i < data.length; i++) {
                trHTML += '<tr><td><span class="' + i + '">' + data[i].stokTanimi+ '</span></td>'
                       +'<tr><td><span>' + data[i].siparisMiktari+ '</span></td>'
                       + '<td><span class="' + j + '">' + data[i].teslimTarihi+ '</span></td>'
                       + '<td><button style="width:100%" data-id="' + i + '" class="onay btn btn-success"> Onay </button></td>'
                       + '<td><input type="text" class="denied form-control" placeholder="Reddetme Sebebi"></input>'
                       + '<td><button style="width:100%" data-id="' + j + '" class="ret btn btn-danger"> Ret </button></td></tr>';
                j++;
            };
            $('#location').append(trHTML);


        },

        error: function (msg) {

            alert(msg.responseText);
        }
    });

当我尝试使用ajax获取请求时,我收到此错误 Console Screen 我在网上搜索了很多这个错误,但我无法解决这个问题。我试图添加这些行web api的web配置文件

<customHeaders>
  <add name="Access-Control-Allow-Origin" value="*" />
  <add name="Access-Control-Allow-Headers" value="Content-Type" />
  <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>

它没有帮助我所以我试图禁用chrome扩展,它也没有帮助我。最后,我在项目上检查了Cors并且它已经是最新的。

这是网络屏幕 Network Screen

我该如何解决这个错误?

PS:我和邮递员一起检查api它运作正常。

1 个答案:

答案 0 :(得分:0)

确保您正在创建网络API。

两天前我遇到了同样的问题,但我解决了。

当您创建Web api应用程序时,默认情况下会创建ValuesController。

将以下代码放入其中:

   $str = '';
        foreach((get_the_category()) as $category) {
            $str .= "$category->cat_name , ";
        }
    $str = rtrim($str,', ');
  echo $str;

现在添加一个客户类,如下所示。

 public class ValuesController : ApiController
    {
        // GET api/values
        public IEnumerable<Customer> Get()
        {
            return new List<Customer> {
           new Customer(){CustomerId=1,CustomerName="Name1"},
             new Customer(){CustomerId=2,CustomerName="Name2"},
            };
        }


    }

现在运行该应用程序。现在只需将URL更改为localhost:ursport / api / values。你有xml文件。这是你的数据文件。

现在创建另一个用于从webapi获取数据的应用程序。 并添加以下代码。

public class Customer
    {
        public int CustomerId { get; set; }
        public string CustomerName { get; set; }
    }

我希望这很有用。如果您有任何疑问,请告诉我。 运行客户端应用程序时,请确保web api应用程序正在运行。