0

我正在使用 jQuery.ajax 函数将表单发布到服务器。该代码运行良好,除非表单中的某些输入字段包含一些特定的字符组合,例如 &#(&@ 可以正常工作)。

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

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

当我尝试在其中一个输入字段中使用 提交表单时返回的错误是“内部服务器错误”,没有更多详细信息。

关于如何解决这个问题的任何建议?

4

1 回答 1

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); });
    }
于 2013-07-09T17:26:58.970 回答