我哪里出错了?我需要点击按钮点击“OnClientClick”属性,我为Ajax调用了xyz()。但是没有用。
这是我的JS:
function xyz() {
$.ajax({
type: 'POST',
url: 'http://localhost:9210/xyzmodule/xyzmethod',
data: "{ field1: '" + $("#txtfield1").val() + "' field2: '" + $("#txtfield2").val() + "' field3: '" + $("#dattimefield3").val() + "'}",
dataType: "json",
contentType: "application/json; charset=utf-8",
error: function () {
alert('Data null');
},
success: function () {
alert('Success');
}
});
}
这是我的服务没有被Ajax调用调用 - 应该调用Web服务。但事实并非如此。
[HttpPost()]
public String xyzmethod(string json)
...
答案 0 :(得分:2)
你试过了吗?
function xyz() {
$.ajax({
type: 'POST',
url: 'http://localhost:9210/xyzmodule/xyzmethod',
data: {field1: $("#txtfield1").val(), field2: $("#txtfield2").val(), field3: $("#dattimefield3").val()},
dataType: "json",
contentType: "application/json; charset=utf-8",
error: function (jqXHR, textStatus, errorThrown) {
console.log(textStatus + ' - ' + errorThrown);
for (var i in jqXHR) {
console.log(i + ' = ' + jqXHR[i]);
}
},
success: function () {
alert('Success');
}
});
}
答案 1 :(得分:0)
语法应为:
$.ajax({
type: 'POST',
url: 'http://localhost:9210/xyzmodule/xyzmethod',
data: { field1: $("#txtfield1").val(), field2: $("#txtfield2").val(), field3: $("#dattimefield3").val() },
error: function () {
alert('Data null');
},
success: function () {
alert('Success');
}
});
或者你可以在调用之前构建数据对象以便更简单地阅读
var pars = {};
pars["textField1"] = $('#txtField1').val();
您也可以:(例如,如果您使用动态变量)
var myfield = "myfield2";
pars[myfield] = $('#'+myfield).val();
然后:
$.ajax({
type: 'POST',
url: 'http://localhost:9210/xyzmodule/xyzmethod',
data: pars,
dataType: "json",
contentType: "application/json; charset=utf-8",
error: function () {
alert('Data null');
},
success: function () {
alert('Success');
}
});
希望有所帮助