Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在成功发布AJAX后更新值/刷新页面_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Javascript 如何在成功发布AJAX后更新值/刷新页面

Javascript 如何在成功发布AJAX后更新值/刷新页面,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我正在创建一个非常基本的拍卖页面,我现在已经做了很多了。但是,如果出价通过AJAX成功发布,我想更新“当前出价”的值 以下是我的一些代码: 这段代码从MySQL检索数据并填充页面 $result = mysqli_query($con,"SELECT * From auction WHERE category = 'Bathroom' ORDER BY ID DESC"); while($row = mysqli_fetch_array($result)) { echo

我正在创建一个非常基本的拍卖页面,我现在已经做了很多了。但是,如果出价通过AJAX成功发布,我想更新“当前出价”的值

以下是我的一些代码:

这段代码从MySQL检索数据并填充页面

    $result = mysqli_query($con,"SELECT * From auction WHERE category = 'Bathroom' ORDER BY ID DESC");


while($row = mysqli_fetch_array($result))
  {
    echo "<form name='auction' id='auction" . $row['ID'] . "'>
            <input type='hidden' name='id' value='" . $row['ID'] . "' />
            <div class='auction-thumb'>
                <div class='auction-name'>" . $row['Item'] . "</div>";
            echo "<img class='auction' src='" . $row['ImagePath'] . "' />";
            echo "<div class='auction-bid'>Current Bid: £<div class='nospace' id='" . $row['ID'] . "'>" . $row['CurrentBid'] . "</div></div>";
            echo "<div class='auction-bid'>Your Name: <input type='text' class='bidder' name='bidname'/></div>";
            echo "<div class='auction-bid'>Your Bid: <input type='text' class='auction-text' name='bid'/></div>";
            echo "<div class='auction-bid'><input type='submit' name='submit' value='Place Bid!' /></div>";
    echo "</div></form>";
  }
echo "</table>";
该警报仅用于测试目的。但是jQuery会对照表单中提交的标书检查当前标书

如果出价已成功发布,那么我想更新当前出价中显示的内容,但当前您必须手动刷新页面才能显示此内容

我试着加上

window.location.reload(); 
在AJAX的成功部分,但什么都没有发生

有人能告诉我正确的方向吗?或者,如果你知道一个更好的方法,那么请刷新页面,请告诉我


提前感谢您,如果您需要更多信息,请告诉我。

您永远不会进入ajax调用的成功函数:您已将数据类型设置为json,因此jQuery希望返回json。但是,您正在返回html

您应该从ajax调用中删除dataType:json:

$.ajax({
        type: "POST",
        url: "auction-handler.php",
        // Or remove this, or send json back
        // dataType: "json",
        data: {bidname: bidname, bid: bid, id: id},
        success: function(data){
            // There is no need for this...
            // window.location.reload();
            console.log(data);
        }
    });

请注意,使用ajax的优点是可以替换部分内容。因此,您不必重新加载整个页面,只需更新要更新的部分。

您永远不会进入ajax调用的成功函数:您已将数据类型设置为json,因此jQuery希望返回json。但是,您正在返回html

您应该从ajax调用中删除dataType:json:

$.ajax({
        type: "POST",
        url: "auction-handler.php",
        // Or remove this, or send json back
        // dataType: "json",
        data: {bidname: bidname, bid: bid, id: id},
        success: function(data){
            // There is no need for this...
            // window.location.reload();
            console.log(data);
        }
    });

请注意,使用ajax的优点是可以替换部分内容。因此,您不必重新加载整个页面,只需更新要更新的部分。

在ajax响应中,您只需将新的bid值传递给元素,而无需刷新整个页面。在ajax函数中,返回正确的值,然后替换它

成功:functiondata { “元素id”。htmldata

        }

在ajax响应中,只需将新的bid值传递给元素,无需刷新整个页面。在ajax函数中,返回正确的值,然后替换它

成功:functiondata { “元素id”。htmldata

        }

将服务器发送的data.bid分配给ajax成功中的currentbid

  $.ajax({
                type: "POST",
                url: "auction-handler.php",
                data: {bidname: bidname, bid: bid, id: id},
                success: function(data) {
                    currentbid = data.bid   // bid from server    
                }
            });

将服务器发送的data.bid分配给ajax成功中的currentbid

  $.ajax({
                type: "POST",
                url: "auction-handler.php",
                data: {bidname: bidname, bid: bid, id: id},
                success: function(data) {
                    currentbid = data.bid   // bid from server    
                }
            });

使用window.location.href='your script name'我建议,它会刷新部分页面而不是整个页面尝试location.reload;或者location.href=window.location=window.location lol第一次看到它是否有效?使用window.location.href='your script name'我建议,它会刷新部分页面而不是整个页面尝试位置.reload;或location.href=window.location=window.location lol第一次看到它是否有效?@KishorPawar我不确定你的意思:它在那里,但不应该在那里。您好,感谢您的回复,删除数据类型解决了我的问题,我现在可以使用window.location.reload刷新;但是我只对刷新数据类型感兴趣相关信息,但不知道如何做。这就是ajax帮助Barnold的地方,正如Jeroen所说,您可以使用$+id.text;设置文本,或者查找jquery加载function@Barnold您可能应该问一个新问题,发布新代码,以及您在哪里有问题。@KishorPawar我不确定您的意思:它在那里,但不应该在那里。嗨,感谢您的回复,删除数据类型解决了我的问题,现在我可以使用window.location.reload刷新;但是我只对刷新相关信息感兴趣,但不知道怎么做。这就是ajax帮助Barnold的地方,正如Jeroen所说,您可以使用$+id.text设置文本;或者查找jquery加载function@BarnoldY你可能应该问一个新的问题,张贴新的代码和你有问题的地方。