jQuery Ajax提交表单返回一些字符组合的错误

时间:2013-07-09 16:36:03

标签: jquery ajax

我正在使用jQuery.ajax函数将表单发布到服务器。除了表单中的某些输入字段包含某些特定字符组合(例如&#(& @ works fine))之外,代码运行良好。

下面是我们用来提交表单的代码:

function formSubmit(formToPost, postUrl, onSuccess) {
        console.debug("formSubmit");
        $.ajax({
            type: 'POST',
            url: postUrl,
            data: $('#' + formToPost).serialize(),
            success: onSuccess
        }).fail(function (jqXHR, textStatus, errorThrown) { console.debug("error: " + textStatus + ", " + errorThrown); });
    }

当我尝试在其中一个输入字段中提交带有&#的表单时返回的错误是“内部服务器错误”而没有任何详细信息。

有关如何解决此问题的任何建议?

1 个答案:

答案 0 :(得分:0)

我认为这可能有效。这基本上是在表格数据序列化后的decodeURI。

function formSubmit(formToPost, postUrl, onSuccess) {
        console.debug("formSubmit");
        $.ajax({
            type: 'POST',
            url: postUrl,
            data: decodeURI($('#' + formToPost).serialize()),
            success: onSuccess
        }).fail(function (jqXHR, textStatus, errorThrown) { console.debug("error: " + textStatus + ", " + errorThrown); });
    }