【发布时间】:2015-03-22 10:41:50
【问题描述】:
我正在使用 ajax 在同一页面上发布数据,并尝试使用以下脚本用 php 回显发布的数据。
$('button').click(function(){
$.ajax({
type: "post",
data: $("form").serialize(),
beforeSend: function(){},
success: function(data){alert(data)},
error: function(err) {alert(err.responseText);}
})
})
而php脚本是:
<?php echo isset($_POST['data']) ? $_POST['data'] :''; ?>
我的 html 是:
<form>
<input type="hidden" name="data" value="to_success"/>
<button type="button">Click Me</button>
</form>
我的问题是 php 不会在页面上回显已发布的数据,但是当我将表单数据发布到另一个相同 php 脚本的 php 文件上时; php 能够回显发布的数据,而 ajax 对此很警惕。请帮我解决这个问题。谢谢
【问题讨论】:
-
url参数应默认为当前 URI,但请尝试明确设置。 -
当然,还要注意浏览器的网络控制台,以验证请求正在发送并发送到正确的路径。
-
感谢@Michael Berkowski。我的 url 参数是正确的。对于同一页面,我没有使用 url 参数。对于另一个 php 文件,我使用了正确的 url
-
请说明您使用的是 GET 还是 POST。您的标题与您的代码不匹配,
-
这是包含所有这些代码的单个 PHP 文件吗?如果是这样,您的页面将不会回显 POST 变量,因为当您加载页面时它没有被发布到,如果它完全有效,它将返回整个页面及其 HTML 到 ajax 成功警报,如果它可能不起作用无法解释返回值。