Javascript 使用AJAX/Jquery替换div

Javascript 使用AJAX/Jquery替换div,javascript,php,jquery,ajax,yii,Javascript,Php,Jquery,Ajax,Yii,我试图在使用数据消息进行AJAX调用之后设置空div的内容。我还将该函数连接到我的CHtml::submitButton,单击该按钮时应该调用该函数,但什么也没有发生。有什么建议吗 <div id="myResult"> </div> JavaScript: PHP: 试试这个: $.ajax({ url: "test.html", type: "GET", data: "<

我试图在使用数据消息进行AJAX调用之后设置空div的内容。我还将该函数连接到我的CHtml::submitButton,单击该按钮时应该调用该函数,但什么也没有发生。有什么建议吗

<div id="myResult">        
</div>
JavaScript:

PHP:

试试这个:

 $.ajax({
             url: "test.html",
            type: "GET",
            data: "<div> Replace div with this contentf</div>",
            success: function(data){
                $('#myResult').html(data);
            }
        })

选择器jQuery响应ajax不正确。并在ajax中定义Url。

您的问题取决于以下几行:

$('myResult').html(data);
在这里,您试图对一个元素进行jquery选择,而您并没有在html中使用该元素,这只能通过pollyfils实现。因此,您必须根据其ID选择元素:

$('#myResult').html(data);
我看到的另一件事是,你请求的url是什么

<script>
    function successMessage(){
        $.ajax({
            type: "GET",
            url: "/please/add/an/url/",
            data: "<div> Replace div with this contentf</div>",
            success: function(data){
                $('myResult').html(data);
            }
        })
    }
</script>

首先,当您像这样使用onclick函数时:

<input type="submit" onclick="successMessage()">
function successMessage(){
        $.ajax({
            type: "GET",
            url : 'index2.php',
            dataType: "json",
            data: { mydata: '<div> Replace div with this content</div>'},
            success: function(data){             
                $('#myResult').html(data);
            }
        })
    }
<?php
    echo json_encode($_GET['variable']);
?>
然后,您需要修复successMessage函数。你看,你在那里设置的数据不是作为输出的数据。如果您需要ajax,那么您可能希望从其他url上的php脚本获得结果。那么你应该这样做:

<input type="submit" onclick="successMessage()">
function successMessage(){
        $.ajax({
            type: "GET",
            url : 'index2.php',
            dataType: "json",
            data: { mydata: '<div> Replace div with this content</div>'},
            success: function(data){             
                $('#myResult').html(data);
            }
        })
    }
<?php
    echo json_encode($_GET['variable']);
?>
同时将标签放在表单后面以关闭表单


这应该对你有用。我试过了,效果很好。

检查控制台发送ajax请求?检查我对ajax请求中url的编辑。嘿@taxicala,我已将url添加到我的项目中,但它仍然无法运行。可能是我的页面在点击我的按钮后正在刷新吗?如果是,则不确定如何修复此问题;是否可能您的数据被放置,然后表单提交完成并刷新页面。。。正在擦除myResult?@rfornal解决此问题的最佳方法是什么?通常,我看到的是,没有与绑定的正式提交按钮,那么这种类型的更改和表单的实际提交是$.ajax…但是,我想您可以将数据结果作为$SESSION变量的一部分发送,以便在刷新后使用它们。是否可以展开?我不完全理解。我需要使用echo CHtml::submitButton'Download Content',array'htmlOptions'=>'successMessage';您的代码不能与此一起使用吗!?尝试echochtml::submitButton'Download Content',array'htmlOptions'=>'successMessage;返回false;';它应该会得到和我一样的结果,是的,我实现了你的代码,但无法让它工作。真的很奇怪。当您尝试检查submit按钮上的元素时,它是这样的吗?还可以尝试使用console.logdata来查看它是否会给您带来一些结果。您是否创建了index2.php文件并将其放入同一目录?@YoungandFree是否有任何更新?你发现你的问题了吗?还是问题还在继续?让我们知道,这样我们可以帮助你。如果问题已经回答,则检查答案是否正确。
<?php
    echo json_encode($_GET['variable']);
?>
echo CHtml::submitButton('Download Content', array('htmlOptions' => 'successMessage()'));