Jquery.form AjaxSubmit为响应添加标签?

时间:2011-10-13 14:43:09

标签: javascript jquery jquery-forms-plugin

当我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。

enter image description here enter image description here

我已经假设由于服务似乎返回了正确的值,因此仅在客户端上引起此问题。如果我错了,请纠正我。

为什么javascript中的值与响应中的值不同?

2 个答案:

答案 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); }
});