Php Ajax提交不起作用
我会让它变得简单,我想提交数据,而不使用表格等。。。 我有以下代码: HTML 在categoryactions.php中,我有以下内容: PHPPhp Ajax提交不起作用,php,jquery,ajax,Php,Jquery,Ajax,我会让它变得简单,我想提交数据,而不使用表格等。。。 我有以下代码: HTML 在categoryactions.php中,我有以下内容: PHP 但当它将我重定向到categoryactions.php时,我什么也得不到。我不确定这是否是使用AJAX提交数据的方式,但至少我尝试过。如果有人知道如何解决这个问题,我将不胜感激 您单击的处理程序正在发出两个单独的请求。首先,使用AJAX发送请求,然后进入页面。当您查看页面时,您将看不到结果,因为结果是提供给AJAX请求的 AJAX的要点是避免更
但当它将我重定向到categoryactions.php时,我什么也得不到。我不确定这是否是使用AJAX提交数据的方式,但至少我尝试过。如果有人知道如何解决这个问题,我将不胜感激 您单击的处理程序正在发出两个单独的请求。首先,使用AJAX发送请求,然后进入页面。当您查看页面时,您将看不到结果,因为结果是提供给AJAX请求的 AJAX的要点是避免更改页面 试试这个:
$('.categ-edit').click(function() {
$.ajax({
url: 'categoryactions.php',
type: 'POST',
data: {action: 'edit'},
success: function(data) {
alert(data);
}
});
});
在Ajax中使用重定向没有意义。您需要使用
success
方法
$('.categ-delete').click(function() {
$.ajax({
url: 'categoryactions.php',
type: 'POST',
data: {action: 'delete'},
success: function(data){
alert(data);
//or, put response in a div
$('#someDivId').html(data);
}
});
});
Ajax的要点是在不更改地址栏中的URL的情况下检索对另一个页面的请求的响应。它在变量中为您检索响应,该变量是success
方法的输入,然后您可以使用它来做一些事情。使用PHP的AJAX示例
我无法准确回答您的问题,但我将帮助您理解对http服务器的ajax请求以及如何相应地处理响应
示例jQuery
示例file.php
您实际上调用了“categoryactions.php”两次。第一次作为异步调用(ajax),第二次作为重定向:window.location.href=“categoryactions.php”
在第二次调用中,没有发布任何内容,因此您的输出为空。这条线没有任何作用,你应该把它移走
ajax调用发生在后台,因此您不会在浏览器中看到echo的输出。如果确实要验证它是否正常工作,请使用文件调用替换echo以将其写入文件。然后检查文件内容。在Ajax中不使用window.location.href=
。这将使它无法工作。所以我只编写代码,就这样?不,您需要成功
方法。看我的例子。我认为写入文件会使事情复杂化。我想他是想让AJAX工作起来。这就是echo的作用。@acbabis-但这是一个异步调用,他永远看不到echo。echo将把文本打印到响应体,响应体将作为AJAX的结果。如果他做了必要的更改以查看响应(1.不重定向,2.异步显示响应),那么他将演示如何使用AJAX。
<?php
$action = $_POST['action'];
echo $action;
?>
$('.categ-edit').click(function() {
$.ajax({
url: 'categoryactions.php',
type: 'POST',
data: {action: 'edit'},
success: function(data) {
alert(data);
}
});
});
$('.categ-delete').click(function() {
$.ajax({
url: 'categoryactions.php',
type: 'POST',
data: {action: 'delete'},
success: function(data){
alert(data);
//or, put response in a div
$('#someDivId').html(data);
}
});
});
$('.categ-edit').click(function() {
$.get('/path/to/file.php', function(data) {
console.log(data);
});
});
<?php
echo json_encode('HELLO');