PHP API端点,使用包含符号(&;)的jQuery.get(..)传输值
我有一个简单的PHPAPI端点。可能的请求可能如下所示PHP API端点,使用包含符号(&;)的jQuery.get(..)传输值,php,jquery,api,url-encoding,endpoint,Php,Jquery,Api,Url Encoding,Endpoint,我有一个简单的PHPAPI端点。可能的请求可能如下所示 api.php?v1=bob&v2=foo 一切正常,但当我尝试将URL作为其值之一传输时除外,该值包含一个符号和: url: www.bob.com/?v3=bacon&v4=apples request: api.php?v1=www.bob.com/?v3=bacon&v4=apples&v2=foo 显然,这不起作用,当我尝试使用$\u GET[“v1”]访问v1时,我得到www.bo
api.php?v1=bob&v2=foo
一切正常,但当我尝试将URL作为其值之一传输时除外,该值包含一个符号和:
url: www.bob.com/?v3=bacon&v4=apples
request: api.php?v1=www.bob.com/?v3=bacon&v4=apples&v2=foo
显然,这不起作用,当我尝试使用$\u GET[“v1”]
访问v1
时,我得到www.bob.com/?v3=bacon
,部分&v4=apples
丢失,因为$\u GET
认为这是另一个参数
因此,我尝试对URL进行如下编码:
url = encodeURIComponent(url)
并使用jQuery将其传输到端点,代码如下:
$.get("api.php", { v1: url, v2: 'foo'}, function(data, status) {
...
});
它仍然不起作用
我假设jQuery按照预期构建查询字符串,当它到达端点时,我得到了与之前相同的混乱
我错过了什么?如何解决这个问题?
$.get(“api.php”,{…}
应该自动为您编码参数。@31piy好吧,我不知道,但即使如此,结果也应该是一样的。无论如何,我测试它时没有使用encodeURIComponent
,所以只有原始$.get(..)
使用url作为数据参数。仍然存在相同的问题:/$.get(“api.php”,{…}
应该自动为您编码参数。@31piy好吧,我不知道,但即使如此,结果应该是一样的。无论如何,我测试它时没有使用encodeURIComponent
,所以只有原始的$.get(..)
使用url作为数据参数。仍然存在相同的问题:/