http://query.yahooapis.com/v1/public/yql?'+
'q=select%20abstract%2Cclickurl%2Cdispurl%2Ctitle%20'+
'from%20search.web%20where%20query%3D%22'+
$('#search').val()+
'%22&format=json&+
'callback=?'
我对此url
感到困惑,这是如何形成的。这个url
在我的项目中是hardcoded
,我很困惑。谁能告诉我这个url param是如何形成的?。
'q=select%20abstract%2Cclickurl%2Cdispurl%2Ctitle%20'+
'from%20search.web%20where%20query%3D%22'
并且在从前端发送搜索值之后,此代码再次在url中硬编码。
'%22&format=json&+
'callback=?'
这是我在front-end
中使用的表单。
<form action="#" id="f">
<div>
<label for="search">Search</label>
<input type="text" value="kittens" id="search">
<input type="submit" id="s" value="go">
</div>
</form>
<div id="results"></div>
答案 0 :(得分:2)
decodeURIComponent( 'Q =选择%20abstract%2Cclickurl%2Cdispurl%2Ctitle%20from%20search.web%20where%20query%3D%22')
结果将是:
"q=select abstract,clickurl,dispurl,title from search.web where query=""
通常,当您使用逗号,连字符等查询字符串特殊字符传递数据时,会对空格进行编码以使url成为有效地址。如果它包含空格或其他此类字符,则会使url无效。所以有意义写手写网址。
答案 1 :(得分:1)
它是一个url编码查询。解码它看起来像这样:
select abstract,clickurl,dispurl,title from search.web where query="
我会参考yahoo api:http://developer.yahoo.com/yql/console/