使用Jquery调用php脚本onclick并刷新数据而不重新加载页面?

时间:2013-06-04 05:00:00

标签: php jquery

这是什么了:我有一些php解析器,可以将数据保存到一些本地文件中,这些文件是在通过includes加载页面后获取的。我希望为用户提供刷新数据的机会,因此我需要解析器再次启动并将新数据字符串传递给页面元素,而无需重新加载页面。

请有人帮助我,我的大脑已经融化了。可能我只需要一个简单的简单AJAX调用,但请不要使用正确的语法。

以下是我的看法(可能非常错误):

<element id="button"></element>

<div id="new_data"></div>

<jquery>
$('#button').onclick(function() {

call for test.php, let it do it's job and get the $result_string

$('#new_data').innerHTML($result_string);

});
</jquery>


<?test.php

function parser() {

all in place;

return $result_string;
}
?>

P.S。这也与表格有关,但也无法解决。

解决!!!

如果有人应该总结这个问题,那么这对我有用:

    $("#button").bind('click', function() {
$.post("test.php", function(data) {
$("#data").html(data);
});
});

$("#button").bind('click', function() {
$('#data').load('test.php');
});

并且在test.php中最后只是一个简单的echo $result;,工作完美且非常快。

希望它有所帮助!

2 个答案:

答案 0 :(得分:1)

我假设你需要在点击按钮时调用ajax来获取result_string,试试这个:

$('#button').onclick(function() {
    //using simple ajax post..

    $.post('test.php',function(data){
        $('#new_data').html(data); //here i am returning the data as HTML from test.php..
   });
});

如果您需要将return_string作为javascript对象,那么您可以发送JSON作为响应:

function parser() {

    all in place;

    return echo json_encode(array('result'=>$result_string));
}

并将其作为帖子中的对象

$.post('test.php',function(data){
    $('#new_data').html(data.result); 
});
虽然对你的问题有点困惑,但我认为这会让你开始......

答案 1 :(得分:0)

这是ajax Request的语法。

   $('#button').onclick(function() {
      jQuery.ajax({ 
        type:'post',
        url:'test.php',
        data:[],
        dataType:'json',
        success: function(rs)
        {
          $('#new_data').innerHTML(rs.result_string);
         }
        failure : function(rs)
        {
            alert(rs.errorMesage);
        }
     });
  });