如何在.getJSON JQuery中设置编码

时间:2020-03-05 18:42:57  来源:igfitidea点击:

在我的网络应用程序中,我使用jQuery $ .getJSON()方法提交了一些表单字段。我在编码方面遇到了一些问题。我的应用程序的字符集为" charset = ISO-8859-1",但我认为这些字段是通过" UTF-8"提交的。

有谁知道,我该如何在$ .getJSON调用中设置编码?

解决方案

回答

我认为,如果我们想更改编码,可能必须使用$ .ajax(),请参见下面的contentType参数(成功和错误回调假定我们具有<div id = html中的" success"> </ div><div id =" error"> </ div>`:

$.ajax({
    type: "POST",
    url: "SomePage.aspx/GetSomeObjects",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: "{id: '" + someId + "'}",
    success: function(json) {
        $("#success").html("json.length=" + json.length);
        itemAddCallback(json);
    },
    error: function (xhr, textStatus, errorThrown) {
        $("#error").html(xhr.responseText);
    }
});

我实际上只需要大约一个小时前就完成了,这真是巧合!

回答

如果要使用$ .getJSON(),可以在调用之前添加以下内容:

$.ajaxSetup({
    scriptCharset: "utf-8",
    contentType: "application/json; charset=utf-8"
});

我们可以使用所需的字符集代替utf-8

这里说明了这些选项。

contentType:当向服务器发送数据时,使用这种content-type。默认值为" application / x-www-form-urlencoded",在大多数情况下都可以。

scriptCharset:仅适用于具有jsonp或者script数据类型和GET类型的请求。强制将请求解释为某个字符集。仅需要用于远程和本地内容之间的字符集差异。

我们可能需要一个或者两个...