-1

以下代码中的所有内容都有效,只是它在 processfeed.php 执行时不显示任何内容。我需要帮助理解原因。关于这方面的一些背景..它在 580 x 130 Iframe 中执行.. 并且 processfeed.php 有一个 javascript 重定向回它所有开始的地方,这是一个基本上带有发布按钮的文本区域.. 就像我说的那样,一切正常,除了加载gif..

    <body onLoad="loadingAjax('myDiv');">

    <script>
    function loadingAjax(div_id)
    {
        $("#"+div_id).html('<center><img src="images/ajax_loader.gif"></center>');
        $.ajax({
            type: "POST",
            url: "processfeed.php?<? echo   "loggedinuser=$loggedinuser&message=$message&private=$private&userto=$userto&feedpic=$feedpic&  feedpictmp=$feedpictmp";?>",
            data: "loggedinuser=" + loggedinuser,
            success: function(msg){
                $("#"+div_id).html(msg);
    }
});
}
</script>

<div id="myDiv"></div>

大声笑,无论谁刚刚注册了一个帐户并评论了我的帖子,当你删除你的帐户时它就消失了。我没有阅读所有内容。

此外,我最终会设法检测电话号码形式的数字字符串,这些帖子将被自动删除。我已经为其他事情准备好了一些东西。

我一直都错了。它实际上没有传递变量。在我纠正了我的愚蠢错误后,加载 gif 现在显示,但数据没有被传递,所以我再次重试您的所有建议。非常感谢,伙计们,说真的,你们已经做了很多。

4

3 回答 3

0

您没有在其中使用 jquery。

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
        function loadingAjax(div_id)
        {
            $("#"+div_id).html('<center><img src="images/ajax_loader.gif"></center>');
            $.ajax({
                type: "POST",
                url: "processfeed.php?<? echo   "loggedinuser=$loggedinuser&message=$message&private=$private&userto=$userto&feedpic=$feedpic&  feedpictmp=$feedpictmp";?>",
                data: "loggedinuser=" + loggedinuser,
                success: function(msg){
                    $("#"+div_id).html(msg);
        }
    });
    }
    </script>
于 2012-11-05T05:28:27.793 回答
0

您需要执行一些步骤:

  1. 验证 Jquery 库是否已添加到您的代码中。

  2. 检查 firebug 或其他工具以查看任何客户端脚本错误。

  3. 插入一些警报或调试您的代码以查看它在哪里引发错误。

  4. 提醒 ajax 调用的 url 并验证它是否正确?

并更改您的脚本代码:

<head>
<style>
.dvLoader
{
    right:0px;
    bottom:36px;            
    left: 234px;
    position: absolute;
    display:none;   
    top: 85px;   
    z-index: 999;  
}
.dvLoader #overlay
{
    height: 100%;
    width: 100%;   
    background-color: Black;        
    opacity: 0.5; 
    filter: alpha(opacity=50);/*IE*/
    /*position: fixed;        */
    z-index: 1000;
    bottom:0;
}
.dvLoader #loaderContent
{
    background-image:url(../images/loading_box.png);      
    background-repeat:no-repeat;
    height: 50px;
    left: 50%;
    margin: 0;
    padding: 5px;
    position: fixed;
    text-align: center;
    top: 40%;
    width: 220px;
    z-index: 1001;
}
.dvLoader #loaderContent label
{
    color: #666666;
    font-size:13px;
    margin-left:5px;
    font-weight:bold;
}
</style>
     <script>
        function loadingAjax(div_id)
        {
            $('#dvLoader').show();       
            $.ajax({
                type: "POST",
                url: "processfeed.php?<? echo   "loggedinuser=$loggedinuser&message=$message&private=$private&userto=$userto&feedpic=$feedpic&  feedpictmp=$feedpictmp";?>",
                data: "loggedinuser=" + loggedinuser,
                success: function(msg){
                    $("#"+div_id).html(msg);
                    $('#dvLoader').hide();
        }
    </script>
</head>
<body>
 <div class="dvLoader" id="dvLoader">
      <div id="overlay">
      </div>
      <div id="loaderContent">
          <div>
              <label>Loading...</label>
          </div>
          <img src="@Url.Content("~/images/loader.gif")" alt="" />
      </div>
</div>
<div id="myDiv"/>
</body>
于 2012-11-05T05:37:48.437 回答
0

像这样试试

消除

  <?php echo ....

在您的代码和广告中,如下所示

将所有变量传递给 AJAX 函数并像这样创建 url。

function loadingAjax(div_id,loggedinuser,message,private,userto,feedpic,feedpictmp)
{

   document.getElementById("'"+div_id+"'").innerHTML = '<center><img src="images/ajax_loader.gif"></center>';
    $.ajax({
        type: "POST",
        url: "processfeed.php?loggedinuser="+loggedinuser+"&message="+message+"&private="+private+"&userto="+userto+"&feedpic="+feedpic+"&feedpictmp="+feedpictmp,
        data: "loggedinuser=" + loggedinuser,
        success: function(msg){
            $("#"+div_id).html(msg);
}
});
}
于 2012-11-05T05:48:04.823 回答