【发布时间】:2014-09-21 15:36:23
【问题描述】:
我正在使用 jquery ajax 来搜索使用第三方 api 的东西。一旦它找到东西,它就会将一堆数据返回到屏幕上。我要做的是根据 URL 调用 search 函数,我不熟悉使用 Ajax 处理动态 URL。
例如,如果我通过按钮搜索 shoes,则 URL 应更改为 localhost/search=shoes。但是,如果我实际上在地址栏中键入了相同的 URL,它应该调用 search 函数并查询 shoes。
谁能指出我如何处理这个问题的正确方向?
var search = function( query ){
$.ajax({
url: 'ajax base url' + query,
data: {
q: query,
// etc
},
}).done( function(){
console.log('Do something with data');
});
};
$('.btn-search').on('click', function(e){
e.preventDefault();
var data = $(this).text();
search( data );
});
【问题讨论】:
-
很难理解你想要什么:AJAX URL 是任意有效的 URL,但它必须与加载 JS 的服务器位于同一服务器上(“同源策略”)。对外部服务器上的远程 api 发出任何内容都会导致浏览器出现异常。
标签: javascript jquery ajax