AJAX& PHP:GET参数导致Flickr api密钥错误

时间:2011-03-19 00:11:38

标签: php ajax

我正在尝试发送带有afickr API密钥的网址,以获取给定照片代码的结果。 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']);
...

错误:代码=“100”msg =“无效的API密钥(密钥格式无效)”>

如果在地址栏中进行测试,该链接可以正常工作,因此在处理网址时必须在某处进行细分。

我试着将它包装成encodeURI,但没有运气:(

注意:related post

1 个答案:

答案 0 :(得分:0)

您需要使用encodeURIComponent代替encodeURI来实际获取该字符串的编码。

我可以提出2条建议吗?

  • 只是将搜索参数传递给xmlget.php并在那里完成剩下的工作,即使它意味着必须传递服务类型,如果你一直使用它
  • 我不记得所有Flickr api密钥对你有什么影响,但在公共场合发布任何称为“api密钥”的东西通常都是件坏事。除了问题之外,还包括将其粘贴在最终用户可以访问的javascript中。