gpt4 book ai didi

javascript - 为什么 AJAX 的返回值几乎立即消失了?

转载 作者:行者123 更新时间:2023-11-29 18:11:47 24 4
gpt4 key购买 nike

这是我的服务器端代码:

modify_emp.php

<?php
echo $_POST[id];
?>

这是我在 html 页面中的 Javascript:

<script>

$(document).ready(function () {

var alreadyClicked = false;

$('.element').hover(
//mouseenter function
function(){
$('.element').click(
function(){
$(this).css("color","blue");
var objName = $(this).attr('name');
var objColumn = $(this).attr('id');
if(!alreadyClicked){
alreadyClicked = true;
$(this)
.prepend('<form method="POST" class="newInput"><input type="text" name="newInput" style="width:140px"></input></form>');
var elemento = $(".newInput");
var position = elemento.position();
$(".newInput").css({
'position': 'absolute',
'top': position.top + 15,
'opacity':0.9,
'z-index':5000,
})
.focus();
//on enter keypress
$(document).keypress(function(e) {
if(e.which == 13) {

$.ajax({

url: 'modify_imp.php',
type: 'post',
data: { id : objName, column : objColumn },
success: function(data, status){
$("#debug").html(data);
}

});
}
});
} //if (!alreadyClicked) end
}); //end mouseenter function
},
//mouseleave function
function () {
alreadyClicked = false;
$(this).css("color","red");
$(".newInput").remove();
}
); //end .hover

});

debug<div id="debug"> </div>在我想显示来自服务器的响应的 html 页面的末尾。当我按下“ENTER”时,我实际上可以在该 div 中看到 0.1s 的值,但随后它就消失了。

我已经尝试将返回值传递给局部或全局变量,但没有成功。由于某种原因,response 中的值在 0.1 秒后丢失,即使我将它传递给其他地方的另一个变量。

谁能解释一下为什么以及如何“存储”服务器响应?

编辑:刚刚编辑了我的整个 <script>

最佳答案

由于您会立即看到结果,我会冒险猜测您的页面上有一个表单元素,当您按下回车键时,它实际上是在提交表单。您简要地看到了 ajax 操作的结果,然后您的表单提交导致页面重新加载为一个新的空白页面。这是一个常见问题,并且总是有这些相同的症状。

您可以删除表单元素或使用 javascript 阻止表单的默认提交。

如果您向我们展示更多您的实际 HTML,我们可以更具体地帮助您了解如何阻止表单提交。

关于javascript - 为什么 AJAX 的返回值几乎立即消失了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26809529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com