使用Jquery&amp ;;在DIV中包含PHP文件AJAX

时间:2012-01-06 10:49:31

标签: php jquery html ajax

我的问题是,当按下按钮而没有页面重新加载时,我需要在DIV中包含一个PHP文件。

'Jsfiddle'文件中有更多解释。

下面是一个包含的Jsfiddle文档。

http://jsfiddle.net/jjygp/5/

感谢您的时间。我很乐意根据要求提供任何信息。

5 个答案:

答案 0 :(得分:3)

请参阅here for your updated jsfiddle

您已使用名称Change标记了更改按钮,但却尝试使用ID为change来选择它。另外,你没有告诉jsfiddle包含jQuery。

答案 1 :(得分:1)

尝试以下方法:

<button name="Change" id="Change">Change Div</button>

您正在为ID指定点击功能,但该按钮上没有设置ID。

答案 2 :(得分:1)

您可以在jquery

中尝试使用load()函数

http://api.jquery.com/load/

答案 3 :(得分:1)

PHP是一种服务器端脚本语言,将在JavaScript脚本执行之前执行。

因此,您不能使用.load()来执行PHP代码,但是,您可以尝试.ajax()向服务器创建可以实现PHP代码的AJAX请求。

如果您在使用.ajax()时遇到问题,请参阅http://api.jquery.com/jQuery.ajax/

注意:在.ajax()方法中,有一个名为beforeSend的设置,其中&#34;可用于在发送之前修改jqXHR(在jQuery 1.4.x,XMLHTTPRequest)对象中#34 ;.希望这种方法可以帮助你。

然后,您的JavaScript代码将如下所示:

$(document).ready(function(){
  $("#Change").click(function(){
    //doing AJAX request
    $.ajax({
      url:"include/start10.php",
      beforeSend:function(){
        $('#myDiv').fadeOut('slow');
      },
      success:function(data){
        // do something with the return data if you have
        // the return data could be a plain-text, or HTML, or JSON, or JSONP, depends on your needs, if you do ha

        $('#myDiv').fadeIn('slow');
      }
    });    
  });
});

答案 4 :(得分:0)

你不能用AJAX包含PHP文件,而是包含AJAX服务器端脚本的响应,即PHP(具有相同的效果)。

载入中...

JS文件(代码):

function ajaxalizeDiv()
{
    $.ajax({
        type: "get",
        url: "/path/to/the/php/you/want/to/include",
        data: {
            // Anything in json format you may want to include
            id: myvarwithid, // descriptive example
            action: "read" // descriptive example
        },
        dataType: "json",
        success: onAjax
    });
}

function onAjax(res)
{
    if(!res || !res.text)
        return;

    $("#mydiv").html(res.text);
}

这里是PHP文件:

<?php
    $id = (int) @$_GET['id']; // same as in data part of ajax query request
    $action = @$_GET['action']; // same as in data part of ajax query request

    $text = '<a href="/index.php?id=' . $id . '&action=' . $action . '">click me</a>';

    // Note this is short example you may want to echo instead of die
    // You may use not JSON, but raw text. However, JSON is more human-friendy (readable)
    // and easy to maintain.
    // Note also the array keys are used in the onAjax function form res (response).
    die(json_encode(array('text' => $text /* and anything else you want */)));
?>