我正在使用Jmeery的webmethod。我已经在成功函数中写了一个警报,当我运行项目但是我的Webmthod没有调用时我得到了警报,所以代码对我来说不起作用。我已经把debub放在了Webmethod的一个点,但它没有打到。我没有得到任何错误,也没有我的方法调用。 下面是我的Jquery和Webmethod的代码:
<script type='text/javascript' src="Scripts/jquery-1.4.1.min.js"></script>
function onDialogClosed(sender, args) {
$(document).ready(function () {
$.ajax({
type: "POST",
url: "SpellChecker.aspx/Save",
data: { DocName: $("#txttest").val() },
success: function (msg) {
alert($("#txttest").val());
},
error: function (a,b,c) {
alert(a+ b+ c);
}
});
});
}
WebMEthod:
[WebMethod(EnableSession = true)]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string Save(string DocName)
{
try
{
GeneralDataTraveler objDataTraveller = new GeneralDataTraveler();
objDataTraveller.Field1 = Convert.ToString(DocName);
new ServiceCenter().SessionSetGeneralDataTraveller(objDataTraveller);
return "HEllo";
}
catch (Exception ex)
{
return null;
}
}
答案 0 :(得分:1)
请尝试以下格式指定内容类型,数据类型和数据。这对我有用
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "order_form.aspx/GetAutoCompleteData",
data: '{DocName: "' + $("#txttest").val() + '" }',
dataType: "json",
success: function(data) {
//response(data.d);
alert('success');
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
答案 1 :(得分:0)
尝试以下操作:
1. 启用Webmethod ,使用以下方式从脚本调用
[System.Web.Script.Services.ScriptService]
2.启用在脚本上调用web服务 PAGE METHOD :
<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePageMethods="true">
</cc1:ToolkitScriptManager>
希望这有帮助!