当我ajax提交表单时,该服务返回一个数字。出于某种原因,ajaxSubmit似乎为它添加了一堆标签。
form.ajaxSubmit(function(data){
alert(data);
});
});
此处,警告打印出来:"<head></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">130</pre></body>"
然而,如果我签入我的调试器,那么值就是130。
我已经假设由于服务似乎返回了正确的值,因此仅在客户端上引起此问题。如果我错了,请纠正我。
为什么javascript中的值与响应中的值不同?
答案 0 :(得分:3)
问题是jquery.form不希望收到明文,它需要JSON,XML,HTML或Script。
所以我通过从服务器端发送JSON数据并指定JSON是客户端的预期格式来解决这个问题。
form.ajaxSubmit(
{dataType: 'json',
success: function(data) {
alert(data) });
答案 1 :(得分:1)
我猜你正在使用this jQuery Form Plugin。其API州:
注意:您可以将任何标准的$ .ajax选项传递给ajaxForm
您是否尝试过dataType
选项?像这样:
form.ajaxSubmit({
dataType: 'text',
success: function(data){ alert(data); }
});