简单的jquery ajax php请求

时间:2013-04-19 14:16:18

标签: php jquery ajax call

我正在对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";
} 

?>

4 个答案:

答案 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);

但是由于我们忽略了默认值,锚点不应该试图去任何地方或者重新加载。