2016-07-22 6 views
-4

ajax呼び出しを使用して、次のデータをアクションに渡そうとしています。私は何を間違っているのか分かりませんが、クライアントのIDは常に0です。私は呼び出し中のクライアントIDをハードコーディングしていますが、まだゼロが表示されています。他のすべてが正しく渡されています。jqueryでajax呼び出しを作成する

data: { 
    "BedID": bedID, 
    "BedNumber": bedNumber, 
    "ClientSearchItem": { 
     "ClientID": 160 
    }, 
    "BuildingName": buildingName, 
    "RoomName": roomName, 
    "RoomNumber": roomNumber, 
    "SiteName": siteName 
}, 

//私のAJAX呼び出し

$.ajax({ 
     url: myUrl 
     type: "GET", 
     dataType: "JSON", 
     data: { 
      "BedID": bedID, "BedNumber": bedNumber, "ClientSearchItem": { "ClientID": 160 }, "BuildingName": buildingName, 
      "RoomName": roomName, "RoomNumber": roomNumber, "SiteName": siteName 
     }, 
     success: function (data) { 
      // do something here 
     }, 
     error: function (error) { 
      alert("An error occured"); 
     } 
    }); 

public class SearchClient 
    { 
     // parameterless constructor 
     public SearchClient() 
     { 

     } 
     public int BedID { get; set; } 
     public int BedNumber { get; set; } 
     public string BuildingName { get; set;} 
     //public int ClientID { get; set; } 
     public ClientSearchItem ClientSearchItem { get; set; } 
     public bool IsReservation { get; set;} 
     public string RoomName { get; set;} 
     public string RoomNumber { get; set; } 
     public string BedManageOption { get; set; } 

     public string SiteName { get; set;} 
     [Required] 
     public string StartDate { get; set;} 
     public string StartTime { get; set;} 
     public DateTimePicker EndDateTime { get; set;} 
     public string Url { get; set; } 
    } 

public ActionResult _AddClientToBed(SearchClient model) 
     { 
     // do something here 
} 
+0

あなたはajaxコールを投稿できますか? – Skam

+0

@ダーツを見る - 私は自分の投稿を更新しました。 – user3817538

+1

あなたはそれを入れ子にしている可能性がありますか?あなたが私たちに与えたことは、[最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の質問ではありません。したがって、私たちがあなたを助けることを困難にしています。 – Skam

答えて

0

私はあなたのコードが動作させるために、ポイントのカップルをお勧めします。

1)最初にcontentType: "application/json"を追加します。

2)次に、Asp.Net MVCがフォームコンテンツを複雑なオブジェクトに簡単に解決できるように、「POST」リクエストとしてAjaxリクエストを作成します。 (ただし、複雑なオブジェクトもクエリ文字列から解決する必要があります)。 3)入力データをストリング化します。

あなたのajaxコールは以下のようになります。

 $.ajax({ 
      url: myUrl, 
      type: "POST", 
      data: JSON.stringify({ 
        "BedID": bedID, "BedNumber": bedNumber, "ClientSearchItem": { "ClientID": 160 }, "BuildingName": buildingName, 
        "RoomName": roomName, "RoomNumber": roomNumber, "SiteName": siteName 
      }), 
      contentType: "application/json", 
      success: function (data) { 
       // do something here 
      }, 
      error: function (error) { 
       alert("An error occured"); 
      } 
     }) 

一度試してみてください。

+0

私はあなたのソリューションを試しましたが、うまくいかなかったのです。このソリューションでは、モデルを検査するときに、すべてのプロパティがnullまたは0になります。 – user3817538

+0

実際に動作します。私はデータにコメントしました:そしてそれをcontentType:で置き換え、あなたが提案したようにHttpGetを使いました。どうもありがとうございました。私はなぜHttpGet doesntの仕事が不思議に思っています。私がやっていることは本当にGETです。 – user3817538

+0

ajaxが正しいデータをアプリケーションに渡していますか?私は値が正しくメソッドに渡されているかどうかを調べるために、フィドラーや他のネットワークインターセプトツールをチェックしましたか?それは私のアプリケーションで完全に動作しているからです。私は、HttpPostを使って自分のアクションメソッドをデコレートし、ポストリクエストのみを受け入れます。あなたは同様にそれを調べるためにあなたの行動方法を共有することもできます。 –

関連する問題