通过jquery跨域调用web服务

我是jquery的新手,所以请光临我,

我试图通过客户端脚本连接到.asmx webservice(跨域)现在实际上我有问题使用POST,因为它被阻止并且在firebug给我:

选项添加(方法名称)500内部服务器错误。

我通过使用GET来绕过这个问题,它在没有输入任何参数时工作正常但是给我带来参数问题。 请参阅下面的代码。

以下是一个简单的例子,我试图通过使用参数来解决问题。

带参数

function CallService() { $.ajax({ type: "GET", url: "http://localhost:2968/MyService.asmx/Add", data: "{'num1':'" + $("#txtValue1").val() + "','num2':'" + $("#txtValue2").val() + "'}", //contentType: "application/json; charset=utf-8", dataType: "jsonp", success: function(data) { alert(data.d); } }); 

网络服务

 [WebMethod, ScriptMethod(UseHttpGet = true, XmlSerializeString = false, ResponseFormat = ResponseFormat.Json)] public string Add(int num1, int num2) { return (num1 + num2).ToString(); } 

您应该尝试解决服务上的错误 – 如果WSDL说您应该能够POST一个请求并且您正在传递正确的请求,那么它不应该是错误的,这是服务提供商要修复的。 他们返回的错误完全可能与您发送无效参数有关,因此请在引用服务提供商之前检查您的请求是否已发现。

他们可以查看他们的错误日志,或者他们的事件查看器,以查找确切的错误消息,出于安全原因,可能不会将其公开。