0
我正在尝试使用web方法保存数据。但是它显示了一个像找不到方法的错误。未找到Ajax web方法
function InsertMasterCourse() {
var data = {};
data.Name = $('[id$=txtName]').val();
$.ajax({
type: 'POST',
url: '<%= ResolveUrl("~/MasterService.asmx/InsertMasterCourse") %>',
data: "{data:" + JSON.stringify(data) + "}",
contentType: "application/json; charset=utf-8",
dataType: 'json',
async: true,
success: function (response) {
$('#txtName').val('');
},
error: function (response) {
alert(response.statusText);
}
});
return false;
}
在的.asmx
[WebMethod()]
[ScriptMethod()]
public static void InsertMasterCourse(Master_CourseBLL data)
{
data.CollegeId = 1;
data.Status = "Active";
data.CreatedOn = DateTime.Now;
data.UpdatedOn = DateTime.Now;
data.Save(true);
}
在我的web.config我有加HTTP GET和POST请求如下
<location path="MasterService.asmx">
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
如果我检查谷歌浏览器的控制台,它显示错误,如InsertMasterCourse.aspx找不到。 .aspx添加了我的Web服务方法。如何解决它。
尝试取出ScriptMethod()属性。这将导致它只接受GET请求。 https://stackoverflow.com/questions/941484/webmethod-vs-scriptmethod。同样,根据此示例,您可能需要ASMX类声明中的ScriptService()属性:https://www.aspsnippets.com/Articles/Call-Consume-Web-Service-ASMX-using-jQuery-AJAX-in- ASPNet.aspx – ADyson
是的,我已经删除ScriptMethod()。但仍然没有找到错误 – Hisanth
你确定你已经按照我给的第二个链接正确设置了一切吗? – ADyson