当我ajaxSubmit表单时,服务返回一个数字。由于某种原因,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中的值与响应中的值不同?

最佳答案

问题在于jquery.form不会接收纯文本,它会接收JSON,XML,HTML或Script。

因此,我通过从服务器端发送JSON数据并指定JSON是客户端期望的格式来解决此问题。

form.ajaxSubmit(
        {dataType: 'json',
            success: function(data) {
                alert(data) });

10-06 01:15