私のアプリケーションの 1 つでこの問題が発生しており、それを取り除き、問題がまだ発生する小さなテスト環境をセットアップしました。
次のオブジェクト(JSON)を投稿しています
{
"eventName":"Testing from Services",
"tickets":10,
"_date":"10/10/2013",
"_time":"8:00 PM",
"ticketsLocation":"Testing from Services",
"date":"2013-10-11T00:00:00.000Z"
}
次のajax呼び出しを使用して
self.save = function (item, url, success) {
$.ajax({
type: "post",
data: JSON.stringify(item),
contentType: "application/json, charset=utf-8",
traditional: true,
datatype: "json",
url: self.domain + url,
success: success,
error: self.error
});
};
次に、サーバー上で次のコードを使用してデータをバインドします
var Model = this.Bind<PropertyType>();
はPropertyType
正しいタイプ ( Event
) です。
Event
参考までにクラスはこちら
public class Event
{
public string EventName { get; set; }
public int Tickets { get; set; }
public Venue Venue { get; set; }
public string TicketsLocation { get; set; }
public DateTime Date { get; set; }
public List<EventRequest> Requests { get; set; }
}
これは Firefox では問題なく動作します。Chrome と IE では、最終的にすべて null 値を持つオブジェクトになりますModel
。Event
私が知る限り (Fiddler を使用して)、投稿要求はすべてのブラウザーでまったく同じです。他のマシンでもこれをテストし、自分のマシンやブラウザを問題から除外しました。
何か案は?ブラウザが Nancy モデル バインディングにどのように影響するかわかりません...