jQuery的$.ajax URL编码问题

前端之家收集整理的这篇文章主要介绍了jQuery的$.ajax URL编码问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用jQuery的$ .ajax方法来发送和检索数据到REST服务。我提供给$ .ajax方法的某些URL需要对空格和其他特殊字符进行编码。

Chrome,Safari(Webkit)和Internet Explorer浏览器的问题在于。 Firefox POST是一个编码的URL,但其他浏览器POST到未编码的URL。

举个例子:

$.ajax ({
  url: "http://localhost:8080/rest/123/Product Line A/[Product Type B]",type: "POST",dataType: "json",data: { ... },success: function(...){},error: function(...){}
})

Firefox以下列格式POSTS URL:

http://localhost:8080/rest/123/Product%20Line%20A/%5BProduct%20Type%20B%5D

Chrome,Safari和IE POSTS的URL格式如下:

http://localhost:8080/rest/123/Product Line A/[Product Type B]

REST服务接受编码(Firefox)格式 – 有没有办法让所有浏览器保持一致?

提前致谢!

解决方法

您可以使用javascript的encodeURI()函数将URL编码为“Firefox格式”,如您所述。

猜你在找的jQuery相关文章