AJAX FormData()vs encodeURI()

时间:2017-01-06 18:29:13

标签: javascript jquery ajax

jQuery使用encodeURI(),因此通过AJAX发送的数据是这样的:

key1=true & key2=34 & ...

要通过AJAX发送图像,我使用FormData(),因此来自AJAX(没有图像)的数据如下:

-----------------------------7e136023611f0
Content-Disposition: form-data; name="key2"

34

现在我有两个用于AJAX的纯JS函数。主要使用encodeURI(),另一个仅使用new FormData()上传图片。

由于我只想拥有一个AJAX函数,我的问题是 - 它是否合理所以只切换到FormData()? jQuery使用encodeURI()

的原因是什么?

1 个答案:

答案 0 :(得分:0)

jQuery $.ajax接受一个对象作为数据字符串,因此你可以传递图像的url,或者使用类似的东西:

data = 'data:image/gif;base64,R0lGODlhAAEwAMQAAJ2M5Me98GRK1D...1rTIIAQA7';

然后,您可以在另一侧获取并重建图像。