首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在jquery请求后刷新javascript

在jquery请求后刷新javascript
EN

Stack Overflow用户
提问于 2014-11-02 02:03:25
回答 1查看 124关注 0票数 0

我正在尝试使用jQuery来刷新<div>,以调用包含javascript的PHP脚本。

刷新后,页面会加载,但javascript不会执行。

我的问题是我不使用javascript函数,而是简单地编写代码。

我知道我必须使用.on().live(),但不知道如何使用。

我正在尝试调用的页面:

代码语言:javascript
运行
复制
require 'connexion.php';  

$statement = $connexion->prepare("SELECT * FROM table");
$statement->execute();


echo "<div id='refreshdiv'>";
//  generating content
if (isset($statement))
{
        while($data = $statement->fetch())                              
        {       
?>
<script language="javascript">
var str_in;
var str_out = ""; 
var num_in;
var num_out = "";
var e = "Enter Text!";
var num_out = <?php echo json_encode($data['message']); ?>;
str_out = "";
for(i = 0; i < num_out.length; i += 2) {
num_in = parseInt(num_out.substr(i,[2])) + 23;
num_in = unescape('%' + num_in.toString(16));
str_out += num_in;
}
message = unescape(str_out);
</script>
<?php

                if ($data['user'] == 'user1')
                {
                    echo "<p class='man'>".'Le '.$data['date'].'  '.$data['user'].' à dit:'.'<br>'."\n" ;
                    ?><script language="javascript">document.write(message);</script><?php
                    echo "</p>"."\n" ;
                }
                else
                {
                    echo "<p class='woman'>".'Le '.$data['date'].'  '.$data['user'].' à dit:'.'<br>'."\n" ;
                    ?><script language="javascript">document.write(message);</script><?php
                    echo "</p>"."\n" ;
                }

        }
}

        echo '</div>';
?>

主页:

代码语言:javascript
运行
复制
<script>
function autoRefresh_div()
{
$("#refreshdiv").load("refreshpage.php");
}

setInterval('autoRefresh_div()', 5000); 
</script>

<div id='refreshdiv'><div>
EN

回答 1

Stack Overflow用户

发布于 2014-11-02 06:51:55

在我看来,绝对不需要在使用AJAX调用的页面上使用JS。所有这些东西都只能通过PHP呈现,这就是你应该做的。

即使不是这样,从AJAX响应运行JS代码也是非常不安全和具有挑战性的。您必须分离JS代码(可能在JSON变量中),然后对其运行eval() ...同样,非常非常不安全,不推荐使用。

如果在AJAX调用之后仍然希望使用JS,请在主页上定义函数,并将从AJAX调用中获得的参数传递给它。如下所示:

代码语言:javascript
运行
复制
function autoRefresh_div() {
    $.get("refreshpage.php", function(res){
        var content = res.htmlContent; // say this is the content for the div
        var jsParam = res.jsParam;     // and this is the JS parameter(s)
        $("#refreshdiv").html(content);
        handleAjax(jsParam);
    });
}

function handleAjax(params) {
    /// do stuff here
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26691364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档