通过jQuery“错误500无效响应格式”将数据发布到ASMX Web服务时出现错误500

时间:2013-09-12 22:53:42

标签: jquery ajax post

所以我有一个网络服务,http://Komputerz4Kidz.com/mailer/Service1.asmx/SendMail是网址。它是一个精确的副本,除了命名空间和一个或两个变量的脚本,我把它放在一起使用POST通过jQuery发送邮件。

这很简单,不是很多:

function ContactSubmit() {
var Name = $('input:text[name=pickup_name]').val();
var Email = $('input:text[name=pickup_email]').val();
var Message = $('textarea[name=pickup_message]').val();
var Date = $('input:text[name=pickup_date]').val();
$.ajax({

type: "POST",
url: "http://Komputerz4Kidz.com/mailer/Service1.asmx/SendMail",
data: {pickup_name: Name, pickup_email: Email, pickup_message: Message, pickup_date:     Date},

success: ContactSuccess,

error: function (x, y, z)     {console.log(x);console.log(y);console.log(z);alert('ERROR');}

});

}

function ContactSuccess(){
alert("Thanks! Your message has been sent and I will be in touch shortly!");

};

并且唯一的错误是“错误500:无效的响应格式。”

我环顾了堆栈溢出,找到了一些解决方案,但没有一个适用于我。

就像我说的,该示例适用于另一个站点,并且是从同一台服务器托管的。它在IIS中有自己的应用程序池,并且可以正确设置到.NET 4.0集成。

如果有帮助,你可以在Komputerz4Kidz.com上一直测试脚本,底部是联系表。

感谢您的帮助,我会回答任何问题!

PS:从服务器运行时,WEB服务从服务器和功能100%运行:

komputerz4kidz.com/mailer/service1.asmx?op=SendMail

2 个答案:

答案 0 :(得分:2)

试试这个,假设它是params名称:(我想出来访问your link

之前:

data: {pickup_name: Name, pickup_email: Email, pickup_message: Message, pickup_date:     Date},

之后:

data: {_name: Name, _email: Email, _message: Message, p_date: Date},

答案 1 :(得分:1)

我看了一下网址,我不应该这样做。期待人们访问奇怪的URL是一件坏事。

它以“缺少参数:_name”作为响应。听起来对你有什么影响?

无论如何,看起来您的请求应该是:

data: {_name: Name, _email: Email, _message: Message, _date:     Date},

同时var Date很糟糕。 Date已经是内置的javascript类。尽量不要覆盖javascript builtins!