0

AJAX を使用して、このオブジェクトを /api/company/#/ に配置しようとしています。

    {"CompanyID":2,"Name":"Test Company","Address1":"","Address2":"","City":"","State":"","Zip":"","ContactName":"","ContactPhone":"","ContactEmail":"","EmployeeCount":"","TypeOfIndustry":"","CompanyRevenue":""}

私の PUT メソッド:

    public void Put (CompanyOverviewView company)
    {
    }

会社の概要ビュー:

public class CompanyOverviewView {
    public int CompanyID { get; set; }
    public string Name { get; set; }
    public string Address1 { get; set; }
    public string Address2 { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string Zip { get; set; }
    public string ContactName { get; set; }
    public string ContactPhone { get; set; }
    public string ContactEmail { get; set; }
    public string CompanyType { get; set; }
    public Nullable<int> EmployeeCount { get; set; }
    public string TypeOfIndustry { get; set; }
    public Nullable<decimal> CompanyRevenue { get; set; }

AJAX プロパティ:

var ajaxProperties = {
        type: "PUT",
    url: "/api/company/5/",
    dataType: "json",
    data: JSON.stringify(postdata)
    }

デフォルトの WebAPI ルーティングを使用しているにもかかわらず、404 エラーが発生します。なぜこれが接続されないのですか?何か不足していますか?

4

2 に答える 2

0

に と を追加processData: falseしてみcontentType: 'application/json; charset=utf-8'てくださいajaxProperties。これajaxにより、リクエストを URL パラメーターではなく JSON 本文として送信するように指示されます。

于 2013-08-29T20:08:45.197 に答える
0

必要のないときに URL に Id を追加している可能性があります。ajax で /api/company だけに投稿/配置してみてください。または、Put メソッドの別のパラメーターとして「string id」を試して、それが役立つかどうかを確認してください。

ただし、この場合、各引数に FromBody または FromUri 属性を配置する必要がある場合もあります。

于 2013-08-29T21:59:44.303 に答える