0

当我 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 中的值与响应中的值不同?

4

2 回答 2

3

问题是 jquery.form 不期望接收纯文本,它期望 JSON、XML、HTML 或脚本。

所以我通过从服务器端发送 JSON 数据来解决这个问题,并指定 JSON 是客户端的预期格式。

form.ajaxSubmit(
        {dataType: 'json',
            success: function(data) {
                alert(data) });
于 2011-10-14T10:21:45.613 回答
1

我猜你正在使用这个 jQuery Form Plugin。它的API状态:

注意:您可以将任何标准 $.ajax 选项传递给 ajaxForm

您是否尝试过将dataType选项传递给它?像这样:

form.ajaxSubmit({
    dataType: 'text',
    success: function(data){ alert(data); }
});
于 2011-10-13T14:53:51.417 回答