0

我正在跨域发布配置文件结果,并且浏览器正在对帖子中的 @ 符号进行编码,这导致处理功能崩溃。我无权访问服务器端处理脚本来解码值和 @ 符号。

我的问题:有什么方法可以强制浏览器不对 post 参数中的 @ 符号进行编码?或者有什么方法可以在处理脚本可以接受的地方对其进行不同的编码。

Post Prams: UserEmail=name%40domain.com&WorkPhone=1-800-000-000&MobilePhone=000-000-000&HomePhone=000-000-0000&EmailAddress=name%40domain.com&ClientNumber=00000&Zip=00000&StreetAddress=000+steet&City=某个城市&State=Colorado&FirstName= testing+version+61&LastName=name&Clientcomments=this+is+a+description+in+sa+should+map+to+the

jQuery AJAX:

$.post(
    "https://secure.domain.com/Import.aspx?Provider=1&Client=2&CampaignId=1032&DirectTransfer=true", 
    { UserEmail: 'name@domain.com', WorkPhone: data.WorkPhone, MobilePhone: 
        data.CellPhone, HomePhone: data.MainPhone, EmailAddress: 'name@domain.com',
        ClientNumber: data.ClientNumber, Zip: data.MainZipCode, StreetAddress:  
        data.MainStreetAddress, City: 
        data.MainCity, State: data.MainState, FirstName: data.FirstName, LastName: 
        data.LastName, Clientcomments: data.Discription 
    },
    function(rdata) {
        console.log(rdata)
    },
'script');
4

1 回答 1

0

$.post 实际上是 $.ajax 的快捷方式,因此请改用 $.ajax 并将内容类型指定为 application/json。

  $.ajax({
        url: 'https://whatever.com',
        contentType: 'application/json',
        dataType: 'json',
        data: '{"name": "value"}',
        type: 'POST',
        success: function(data, textStatus, jqXHR){

            },
        error: function(XMLHttpRequest, textStatus, errorThrown){

            }
        });
});
于 2013-09-26T17:09:23.070 回答