如何在我的html上显示一个php函数,该函数在ajax端运行良好

时间:2018-01-29 16:14:01

标签: javascript php jquery ajax

我正在尝试将我在AJAX中调用的php函数的结果显示为div'TARGET'。我无法理解我做错了什么......

我的HTML

<div id="TARGET"></div>

MY AJAX

$(document).on('click', '.actualiser_btn', function(){
        var id_contenu = $(this).attr("id");
        $.ajax({
            url:"/ajax-script.php",
            method:"POST",
            data:{id_contenu:id_contenu},
            dataType:"json",
            success:function(data)
            {       
                $('#TARGET').html(<?php $return ?>);                
            }
        })
    });

MY AJAX SCRIPT

...
$return =  wysiwyg( $_POST['id_contenu'],'basique') ;
echo $return ;
?>

当我点击网络调试器中的脚本时,我完全看到了我想要的脚本,所以我认为我的功能运行良好......我做错了什么?

2 个答案:

答案 0 :(得分:2)

您必须使用data更新html,例如$('#TARGET').html(data.key);

$(document).on('click', '.actualiser_btn', function(){
    var id_contenu = $(this).attr("id");
    $.ajax({
        url:"/ajax-script.php",
        method:"POST",
        data:{id_contenu:id_contenu},
        dataType:"json",
        success:function(data)
        {       
            $('#TARGET').html(data.key);  /*Since data is json, you might want to access the right key/value to set as html*/              
        }
    })
});

http://api.jquery.com/jquery.ajax/

成功函数

  

类型:功能(任何数据,字符串textStatus,jqXHR jqXHR)A   如果请求成功,则调用该函数。功能得到   传递了三个参数:从服务器返回的数据,格式化   根据dataType参数或dataFilter回调   功能,如果指定;描述状态的字符串;和jqXHR   (在jQuery 1.4.x,XMLHttpRequest中)对象。截至jQuery 1.5,   成功设置可以接受一系列功能。每个功能都会   被轮流打电话。这是一个Ajax事件。

成功函数的第一个参数是从后端接收的数据。

答案 1 :(得分:0)

$('#TARGET').html(<?php $return ?>);替换为$('#TARGET').html( data ); 如下图所示。

另请注意,ajax请求中的dataType选项需要JSON响应,因此请确保您的响应采用JSON格式。或者,删除选项。

$(document).on('click', '.actualiser_btn', function(){
        var id_contenu = $(this).attr("id");
        $.ajax({
            url:"/ajax-script.php",
            method:"POST",
            data:{id_contenu:id_contenu},
            dataType:"json",
            success:function(data, status){
                $('#TARGET').html( data );
            }
        });
    });