为什么从ajax调用web服务会引发内部服务器500错误?

时间:2017-07-28 18:21:30

标签: javascript c# jquery ajax web-services

我使用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

1 个答案:

答案 0 :(得分:0)

解决。我想通了,这肯定是一个javascript问题。

唯一需要做的就是从网址中删除,例如

"http://localhost:8373/himher.asmx/InsertUsers",

而不是

"http://localhost:8373/himher.asmx?op=InsertUsers"