AJAX和PHP:获取导致Flickr api键错误的参数

AJAX和PHP:获取导致Flickr api键错误的参数,php,ajax,Php,Ajax,我正在尝试发送一个带有aflickrapi键的URL,以获取给定照片标签的结果。Ajax代码应该将XML返回到我的浏览器。但是,带有参数的URL结构似乎会在我的设置中导致问题: **the HTML file:** ... url="api.flickr.com/services/rest/?method=flickr.photos.search&api_key=75564008a468bf8a284dc94bbd176dd8&tags=paris" request.open(

我正在尝试发送一个带有aflickrapi键的URL,以获取给定照片标签的结果。Ajax代码应该将XML返回到我的浏览器。但是,带有参数的URL结构似乎会在我的设置中导致问题:

**the HTML file:**
...
url="api.flickr.com/services/rest/?method=flickr.photos.search&api_key=75564008a468bf8a284dc94bbd176dd8&tags=paris"

request.open("GET","xmlget.php?url=" + url + nocache, true)
...

**the 'xmlget.php' file:**
...
echo file_get_contents($_GET['url']);
...
错误:code=100 msg=无效API密钥具有无效格式>

如果在地址栏中进行测试,链接工作正常,因此在处理URL时,必须在某个地方出现故障

我尝试将其包装到encodeURI中,但没有成功:

注意:

您需要使用encodeURIComponent而不是encodeURI来实际编码该字符串

我可以提两个建议吗

只需将搜索参数传递给xmlget.php,然后在那里执行其余操作,即使这意味着如果您一般使用服务类型,就必须传递服务类型 我不记得所有的Flickr api密钥都能给你带来什么,但是在公共场合发布任何称为api密钥的东西通常都是一件坏事。除此之外,这还包括将其粘贴到最终用户可以访问的javascript中。
嗨,杰西,谢谢你的建议。不幸的是,这没什么区别。关于api键,Flickr似乎只是需要它来获得一些api使用情况的统计数据,所以我认为这不是问题。你是我可能会尝试的另一个建议,但现在我会坚持这种方法,因为我是从一本教科书中得到的,尽管他们的例子比我的简单。你的建议对我有效!我做了一些调整,即将URL添加到变量中,然后应用编码:$search=encodeURIComponent$search。现在正在处理完整的URL