PHP API端点,使用包含符号(&;)的jQuery.get(..)传输值

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

我有一个简单的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.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作为数据参数。仍然存在相同的问题:/