AJAX Post请求URL添加了奇怪的字符

时间:2011-10-24 17:13:12

标签: javascript jquery ajax json

我一直在努力制作这个跨浏览器的帖子声明,我收到以下错误:

 $.ajax({
            type: 'POST',
            url: "http://ourdevtest.com/foo/foo",
            contentType: "application/x-www-form-urlencoded; charset=utf-8",
            data: form.serialize(),
            success:function(result, textStatus, xhr) {
                form.hide();
                console.log('success in preview form');
                console.log("result: " + JSON.stringify(result));
                console.log("textStatus: " + textStatus);
                console.log("xhr: " + JSON.stringify(xhr));
                app.showThankYou();
            },
            dataType: 'json'
            });
        });
        },

返回控制台错误:POST http://%E2%80%8B/%E2%80%8B/%E2%80%8Buser:%E2%80%8Bpassword@ourdevtest.com/%E2%80%8Bfoo/%E2%80%8B1/%E2%80%8Bfoo/%E2%80%8B

它无法加载此网址,但我不知道如何阻止它添加奇怪的字符。

2 个答案:

答案 0 :(得分:0)

如果您解码该错误响应,则会显示以下字符串: http:// / user:password@ourdevtest.com/ foo / 1 / foo /

我认为您应该尝试直接使用某些字段值,而不是使用form.serialize(),仅用于测试目的。

答案 1 :(得分:0)

试试这个

首先删除

contentType: "application/x-www-form-urlencoded; charset=utf-8", 

形成你的ajax电话

并尝试

success:function(result, textStatus, xhr) {
      alert("result: " + JSON.stringify(result));              
}