我有一个将数据发送到 CRM 的表单。如果我创建一个简单的 HTML 表单并将数据发送到服务器,它将刷新我的网页并显示文本:
{"success":false,"error":{"message":"<whatever the error is>"}}
或者
{"success":true,"result":"ok"}
在为表单设置样式并集成动画和验证等内容之后,一切仍然完美无缺。现在使用http://jquery.malsup.com/form/#getting-started发送数据。服务器收到它,但用户不知道它是否收到。
使用此 jQuery 表单插件或您可能希望我使用的其他插件(甚至代码)请帮助我在 div 中显示文本,无论操作是否成功,具体取决于服务器的响应。
我只尝试使用此处提供的示例显示响应:http: //jquery.malsup.com/form/#ajaxForm但直到现在我都失败了。
在这里,我将 JSfiddle 与一些表单字段和我正在使用的 jQuery 表单插件放在一起,以便将数据发送到服务器:http: //jsfiddle.net/n78p9/1/。
我希望有人能够告诉我我做错了什么,或者告诉我另一种方法。
谢谢!
编辑@Arun:所以它看起来像这样:
submitHandler: function(form) {
$(form).ajaxSubmit({
target: '.optional',
resetForm: true,
success: function(responseText){
var result = jQuery.parseJSON(responseText);
if(!result.success){
alert(result.error.message)
}
},
error: function(){
alert('Thank you for your message! Our team will contact you in the shortest possible time.')
}
});
}
我绝对是在正确的方式上,但是有一个问题:错误警报实际上显示响应成功的时间。我不懂为什么。我已经通过本地代理拦截了 POST 请求并通过服务器重新发送它,服务器发回了这个:
{"success":true,"result":"ok"}
但脚本认为这是一个错误。这就是为什么我将该文本插入错误:警报字段:D。
可能是什么问题?