我已经使用提交按钮在ajax中发送了数据,而没有刷新任何页面。但是页面刷新了。
请检查我的代码,让我知道问题所在。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$("#idForm").submit(function() { alert("hi");
var url = "ajax.php";
$.ajax({
type: "POST",
url: url,
data: $("#idForm").serialize(),
success: function(data) {
alert(data);
}
});
return false;
});
</script>
<form id="idForm" method="post" enctype="multipart/form-data">
<input type="text" name="first" value="Bob" />
<input type="text" name="middle" value="James" />
<input type="text" name="last" value="Smith" />
<input name="image" type="file" />
<input type="submit" name="submit" value="Submit" />
</form>
ajax.php
echo "Hello";
问题中的代码 已经 阻止了此行提交表单:
return false;
这意味着:问题中的JavaScript代码根本没有运行。
这里的问题是当此行代码运行时:
$("#idForm")...
那个元素还没有加入dom 。因此,提交处理程序不附加任何内容-表单提交时,它只是标准的HTTP发布请求。
要仅解决问题中的问题,请执行以下任一操作
如果脚本在元素出现在源代码中之后运行,则该表单 确实 存在:
<form id="idForm">...
<script>
$("#idForm")...
</script>
如果js位于就绪处理程序中:
<script>
$(function() {
$("#idForm")...
});
</script>
<form id="idForm">...
脚本标签在哪里都没有关系,因为dom在运行时已经完成了加载。
如果系统地将javascript放在页面末尾:
<body>
<form id="idForm">...
...
<script src="//ajax.googleapis.c...
<script>
$("#idForm")...
</script>
</body>
那将遵循既定的最佳实践,避免此类问题,不需要在任何js代码中使用就绪处理程序(因为以这种方式解析脚本时html源始终在dom中),并且具有可以感知到的页面加载速度更快。
问题内容: 如何在不刷新页面的情况下更改URL? 我已经用CodeIginer建立了一个网站,我想在我的页面之一中实现AJAX和JQuery。问题是; 当我加载内容时,URL不会改变。 假设我有URL 和另一个URL: 单击按钮时如何将第一个URL更改为第二个URL? 问题答案: 在HTML5中,您可以更改URL: 检查http://spoiledmilk.com/blog/html5-chang
问题内容: 我在JSF页面中有这3个字段 我也有一个具有以下属性的后备豆: 我希望在将某些值插入字段val1和val2中而不刷新页面时,outputText元素自动更改其值。结果变量应以这种方式计算(它正在计算百分比):(val1 * val2)/ 100 您能帮我解决我的一些疑问吗?: 我知道为此,我需要javascript或AJAX之类的东西。您认为最好的方法是什么? 我很想知道我如何使用AJ
问题内容: 我的页面结构是: 如何在不刷新整个页面的情况下更新/刷新组件? 一旦用户成功登录,我想在标题中隐藏“登录”链接。标题在所有组件/路由中都是通用的。 问题答案: 您可以使用 来在整个应用程序的不同组件之间进行通信。您可以定义一个数据共享服务,其中包含 您可以订阅和发出更改的服务。 定义数据共享服务 在您的 提供商条目中添加。 接下来,将导入到您和您在其中执行登录操作的组件中。在订阅主题更
我有一个带有视频播放器窗口的react js应用程序。我有一个管理面板,可以更改显示的视频的url。 我想当管理员改变显示的视频时,显示的视频在用户的另一边,改变而不刷新页面。 我怎么能那样做?
问题内容: 我已经看到许多网站(例如,facebook或堆栈溢出)会随着生成新数据(例如,帖子上的新答案)而更新某些功能。 可以说,有一个新帖子添加到博客中,并且当时有人在博客中查看它,其想法是将新帖子自动添加到博客中,而无需刷新或让用户执行任何操作。 我曾考虑过每5秒左右执行一次AJAX调用,但这将向服务器发出太多请求,并且我看到我提到的网站(用于更新内容)没有发出任何新请求。 我真的不知道如何
我有一个用户名列表,用户名列表根据用户输入的数量而增加。问题是,当用户输入用户名时,列表会被输入填充,只有当我的页面重新加载时,我的页面才会更新。这是我迄今为止尝试过的代码。 我无法在外页重新加载的情况下更新数据。请建议我如何更新ui:在外页重新加载的情况下重复数据。提前谢谢。