通过AJAX / PHP提交URL设置变量不刷新页面,加载变量
Submit URL via AJAX / PHP set variable without refreshing page, load variable
我有一个问题,一些脚本通过AJAX执行一个功能,而不刷新我的页面。我有一个字段供用户输入外部URL,当他们点击提交时,它会弹出一个模态窗口,通过单独的PHP页面(目前是images.php)生成一些信息。当表单实际提交,页面重新加载,并且images.php能够看到index.php?url=什么,但我试图更新页面,而不必刷新。定义变量后需要重新呈现DIV吗?我想这可能就是我的问题所在。
JS
<script type="text/javascript">
$(function() {
$("#newNote").submit(function() {
var url = "images.php"; // the script where you handle the form input.
var noteUrl = $('#noteUrl).val();
$.ajax({
type: "POST",
url: url,
data: {noteUrl: noteUrl},
success: function(data)
{
alert(data); // show response from the php script.
}
});
return false; // avoid to execute the actual submit of the form.
});
});
</script>
HTML <form id="newNote">
<input type="text" class="form-control" id="noteUrl">
<input type="button" class="btn btn-default" id="addNote" data-toggle="modal" data-target="#noteModal" value="Add Note"/>
</form>
PHP(除了表单被提交到this之外,这也包含在modal中,它打开,但在var_dump($postUrl)上返回NULL)
$postUrl = $_REQUEST['noteUrl'];
echo $postUrl;
我肯定在这里错过了一些耀眼的东西,但老实说,我已经尝试了AJAX示例的每一个组合,我可以在这里找到。我是否错过了让PHP获取变量的重要步骤?我需要在某个地方刷新DIV吗?
请帮。
这里是相同代码的一个更整洁的版本,缺少的引号被更正了。
$(function() {
$("#newNote").submit(function() {
$('#notePreview').empty();
var url = "images.php"; // the script where you handle the form input.
var noteUrl = $(this).find('#noteUrl').val();
var request = $.ajax({
type: "POST",
url: url,
data: {noteUrl: noteUrl}
});
request.done(function(data) {
$('#notePreview').append(data);
});
return false; // avoid to execute the actual submit of the form.
});
});
将属性name="noteUrl"
添加到您的输入
<form id="newNote">
<input type="text" class="form-control" name="noteUrl" id="noteUrl">
<input type="button" class="btn btn-default" id="addNote" data-toggle="modal" data-target="#noteModal" value="Add Note"/>
</form>
您还可以执行var_dump($_REQUEST);
以查看正在发送的请求变量
您可能错过了noteUrl
作为名称。试着给出如下名称,并使用相同的名称获得它。在您的情况下是noteUrl
<form id="newNote">
<input type="text" class="form-control" name="noteUrl" id="noteUrl">
<input type="button" class="btn btn-default" id="addNote" data-toggle="modal" data-target="#noteModal" value="Add Note"/>
</form>
var noteUrl = $('#noteUrl).val();
var noteUrl = $('#noteUrl').val();
^^^
相关文章:
- 如何通过ajax刷新JSF填充的javascript变量
- 在javascript中刷新页面时阻止变量的更改值
- 如何在javascript中刷新变量的内容
- 如何刷新存储和快照的 jquery 选择器变量
- Rails/JS-在不刷新页面的情况下获取变量
- 刷新页面后使用变量
- 为什么php页面刷新发布会话变量
- Node.js、Express、EJS-刷新变量以在页面上输出
- 控制器作用域变量在刷新之前未加载
- 从数组空值到浏览器刷新的 Javascript 变量
- 是否可以肯定刷新 $_SESSION[] 全局变量
- 重新初始化全局变量,而不刷新 javascript 中的页面
- 在不刷新的情况下更新标签内的变量
- 阻止默认行为后,回车键似乎正在刷新 java 脚本中的全局变量
- 尝试刷新分配给 PHP 变量的 JavaScript 变量
- 页面刷新后的 Javascript 存储变量
- 是否可以将 php 变量分配给 jquery var,然后刷新该 jquery 变量
- Javascript - 如何从文件加载变量并每 3 秒刷新一次
- 使用 javascript 和 GET 变量刷新页面
- AJAX变量刷新帮助