基于URL调用Ajax函数
Call Ajax Function Based on URL
我使用jquery ajax来搜索使用第三方api的东西。一旦它发现了什么,它就会向屏幕返回一堆数据。我想做的是根据URL调用search
函数,我不熟悉使用Ajax处理动态URL。
例如,如果我通过按钮搜索shoes
,则URL应该更改为localhost/search=shoes
。但是,如果我真的在地址栏中键入了相同的URL,那么它应该使用shoes
的查询来调用search
函数。
有人能给我指一个正确的方向,告诉我如何处理这件事吗?
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 );
});
您可以使用regexp检查字符串是完整的url还是只是查询,最简单的例子可以使用此regex:localhost'/search=(.*)
。
要使用此regexp,您应该使用String.match函数
之后,您应该根据带有切换语句的查询来调用函数
您可以通过简单的设置URL
window.location = "localhost?search=shoes";
如果您访问此页面,您可以在文档中检查URL获取参数。使用GetURLParameter辅助函数准备
$( document ).ready(function() {
var search = GetURLParameter("search");
if(search){
console.log('Do something with data');
}
});
function GetURLParameter(sParam)
{
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++)
{
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == sParam)
{
return sParameterName[1];
}
}
}
相关文章:
- 通过Ajax将JavaScript函数传递给PHP文件
- jQuery成功函数中的ajax成功函数
- 访问$.ajax()函数中的两个不同数组
- 使用ajax用jquery调用php函数
- 执行ajax成功函数-jQUERY
- javascript未捕获类型错误函数ajax
- 无法调用函数 /AJAX 相关
- Javascript 回调函数 + AJAX.done.
- jQuery在函数AJAX函数内部的全局变量有问题
- Getting TypeError:$.ajax(..).done不是函数[ajax,Jquery]
- jQuery中的调用函数ajax成功响应工作一次,而不是两次
- 传递参数给函数(ajax, javascript, jquery)
- 在每个循环中运行一个函数(ajax.response)
- 运行jQuery函数.Ajax等待响应的时间足够长
- 从表单调用同一页面内的JS函数(AJAX)
- Javascript函数AJAX调用返回未定义
- 如何使javascript变量全局,并将其传递到函数ajax
- 喜欢不喜欢函数AJAX
- 从函数 Ajax 返回
- JQuery等待任何函数完成后再启动另一个函数——ajax、动画和音频