我正在尝试将变量发送到进行AJAX调用的同一页面。
仅当我分开PHP脚本时(例如process.php
,相应地更改AJAX url
),我才能收到成功的结果。
index.php
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$(function() {
$('form').submit(function(e) {
e.preventDefault();
$.ajax({
type : 'POST',
url : 'index.php',
data : $(this).serialize(),
dataType : 'json',
encode : true
})
.done(function(data) {
$('#result').html(data);
})
});
});
</script>
</head>
<body>
<?php
$data = array();
if(isset($_POST['name'])) {
$data = 'You entered: ' . $_POST['name'];
echo json_encode($data);
}
?>
<form>
<input type="text" name="name">
<input type="submit" value="Submit">
</form>
<div id="result"></div>
</body>
同一页是否可以捕获和处理我们使用AJAX传递的变量?
您dataType : json
在AJAX设置中进行了设置,因此您应该echo
使用json对象而不是String(HTML)。
使用 exit()
代替echo
,然后将PHP放在页面的顶部。因此,在检查是否$_POST['name']
存在HTML之前,不会回显任何HTML 。
另一件事是,您$data = array()
将在该行上转换为字符串:
$data = 'You entered:' . $_POST['name'];
它应该是 $data[] = ...
<?php
$data = array();
if(isset($_POST['name'])) {
$data[] = 'You entered:' . $_POST['name'];
exit(json_encode($data));
}
?>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$(function() {
$('form').submit(function(e) {
e.preventDefault();
$.ajax({
type : 'POST',
url : 'index.php',
data : $(this).serialize(),
dataType : 'json',
encode : true
})
.done(function(data) {
$('#result').html(data);
})
});
});
</script>
</head>
<body>
<form>
<input type="text" name="name">
<input type="submit" value="Submit">
</form>
<div id="result"></div>
</body>
我使用的是Spring数据JPA。 我的控制器如下所示 现在我决定发送一个PageDTO对象来代替Page对象,以限制发送内容。有什么办法可以用java 8把页面转换成页面? 我看到Page是从派生而来的,所以我想我可以做一些类似的事情,但不知道如何将它与PageDTO和UserDTO结合起来。 有没有有效的java 8方法来做到这一点。 我想出了这个解决方案 我想知道是否有另一种有效的方法来做到
问题内容: 当试图在同一页面上发送值时,我对此感到困惑。 好吧,它将显示在html标记的顶部,但如果在正文内部,则将显示null。 问题答案: 这是适合您的工作代码。要将ajax请求发送到同一页面,可以将参数保持为空,这已经在做。如果您试图让脚本在有值时表现不同,请使用下面的用法。
问题内容: 当试图在同一页面上发送值时,我对此感到困惑。 好吧,它将显示在html标记的顶部,但如果在正文内部,则将显示null。 问题答案: 这是适合您的工作代码。要将ajax请求发送到同一页面,可以将参数保持为空,这已经在做。如果您试图让脚本在有值时表现不同,请使用下面的用法。
我似乎不知道如何使用ajax发布。我做了一个愚蠢的表单来尝试它,甚至在把它削减到只有两个值之后,仍然不能得到任何工作。我的html是这样的: 那么,我的外部javascript到目前为止只是一个单一的函数: 而我的php只是回显这些内容: 我在firebug或Chrome的工具薄中找不到任何错误…谁能告诉我我做错了什么?
问题内容: 我正在尝试使用jquery ajax进行api调用,我正在使用curl进行api,但是我的ajax抛出了HTTP 500 我有一个curl命令,看起来像这样: 我像这样尝试过ajax,但无法正常工作: 我想念什么? 问题答案: 默认情况下,$。ajax()将转换为查询字符串(如果还不是字符串),因为这里是一个对象,请将其更改为字符串,然后设置,这样它就不会转换为查询字符串。
问题内容: 有哪些实用程序可获取网页图像? 基本上等同于打开页面后对其进行“截屏”。 问题答案: wkhtmltopdf和wkhtmltoimage是开源(LGPLv3)命令行工具,可使用QT Webkit渲染引擎将HTML渲染为PDF和各种图像格式。