我使用ajax $ .post方法将数据发送到我的.asmx webservice,但它会引发内部服务器500错误。
.asmx.cs
dotnet restore
dotnet build
我收到此错误:
无法加载资源:服务器响应状态为500(内部服务器错误)
我还添加了Chrome的扩展程序,例如namespace WebServices
{
/// <summary>
/// Summary description for himher
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class himher : System.Web.Services.WebService
{
[WebMethod(EnableSession = true)]
//[ScriptMethod(UseHttpGet = false)]
public string InsertUsers(string name, string pwd)
{
basicoperation bop = new basicoperation();
return bop.insertUsers(name, pwd);
}
}
}
。
我花了很多时间在它上面并且它没有得到修复。帮助我。我是AJAX的新手。
是的,我已经测试了Web服务,并且它完美地工作,例如将数据发送到SQL表。 C#的结尾没有错误。它不会抛出异常。
我尝试在IIS Express和Windows IIS上运行它,并且都返回相同的错误。帮助
更新:insertusers
function save() {
$("button").click(function() {
$.post("http://localhost:8373/himher.asmx?op=InsertUsers", {
name: "testing ajax name",
pwd: "testing ajax pwd"
}, function(data, status) {
alert(data);
});
});
}
堆栈跟踪:
Allow-Control-Allow-Origin
答案 0 :(得分:0)
解决。我想通了,这肯定是一个javascript问题。
唯一需要做的就是从网址中删除?,例如
"http://localhost:8373/himher.asmx/InsertUsers",
而不是
"http://localhost:8373/himher.asmx?op=InsertUsers"