我正在对php文件进行基本的jquery ajax调用,似乎无法弄清楚它为什么不起作用。任何帮助表示赞赏。 Fiebug似乎没有表现出任何ajax或XHR行动。我想不刷新页面,只是执行ajax调用。感谢。
JS
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"</script>
<script>
function getData(url_param){
$.ajax({
type: 'get',
url: 'data.php',
data: {url_param:url_param},
success: function(data) {
$('#data').html(data);
}
});
};
$('#clickMe').click(function(e){
e.preventDefault();
getData(2);
});
</script>
HTML:
<div><a id='clickMe' href='data.php?url_param=url_param'>CLICK ME TO RUN PHP</a></div>
<div id="data"></div> <!-- divto show result -->
PHP:
<?php
if($_GET['url_param']){
echo "simple ajax call";
}
?>
答案 0 :(得分:0)
首先,您拼错了函数名称( getGata!= getData )。
其次:
data: {url_param:url_param}
您是否在任何地方设置了javascript变量 url_param ? $ .ajax 数据参数的格式如下:
get/post variable name : get/post variable value
现在,您似乎没有为 url_param 分配值。
答案 1 :(得分:0)
你可以简单地使用jQuery post功能。
$.post('data.php',{param1:'your param 1', param2 : 'your param 2'}, function(response){
//do your operation here. response is what you get from data.php. 'json' spicifies that the response is json type
$("#data").html(response);
},'json');
答案 2 :(得分:0)
您必须在onload函数中绑定事件。最常见的做法是:
$(document).ready(function(){
$('#clickMe').click(function(e){
...
});
});
您还应该在活动的最后一行添加return false;
。
答案 3 :(得分:0)
(修改后的?)JavaScript会阻止你的代码工作,因为你还没有关闭jQuery源代码中的尖括号,它应该是:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
其中一条评论声明你不应该在锚点中使用href,但是因为你忽略了默认值,所以不会触发(假设在用户的浏览器中启用了JS)。
最后,我认为
return false;
应该在
之后的函数内部getData(2);
但是由于我们忽略了默认值,锚点不应该试图去任何地方或者重新加载。