到目前为止,我试图将表单发布到我的网络服务上并没有取得很大成功
在发布到服务器之前,我将表单转换为对象。
将表单Object
发布到我的Asmx
网络服务时,我收到错误。
我的Ajax:
var formObject = $(form).serializeObject();
var formData = JSON.stringify(formObject);
$.ajax({
type: "POST",
url: "./Service.asmx/PostAutomaticRule",
data: { myObject: formData },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert("success");
},
error: function (response) {
alert("Error");
}
});
我的asmx:
[WebMethod(EnableSession = true)]
public void PostAutomaticRule(MyClass myObject)
{
Debug.WriteLine(myObject);
}
}
[Serializable]
public class MyClass
{
public string automaticRuleName { get; set; }
public string action { get; set; }
public string increaseBudgetByValue { get; set; }
public string increaseBudgetMaximumBudget { get; set; }
}
更多信息: 调试时,这些值是:
我做错了什么?
答案 0 :(得分:0)
请在ajax调用中尝试使用以下代码获取数据参数:
m_w = 102 * 5 = 510
答案 1 :(得分:0)
基于sending-json-collection-to-asmx-webservice
我要改为:
data: {Object : JSON.stringify($(form).serializeObject())}
或
data: {myObject : JSON.stringify($(form).serializeObject())}
但您可能需要创建一个更具体的类。
答案 2 :(得分:0)
最后我得到了这样的话:
$.ajax({
type: "POST",
url: "./Service.asmx/PostAutomaticRule",
data: "{'myObject': "+formData+"}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert("success");
},
error: function (response) {
alert("Error");
}
});