如何POST ajax并获得响应
How to POST ajax and get response?
我的表单、帖子和响应有问题。在我的表单中,我用ajax post:调用一个函数(javascript)
var vars = "test="+test;
$.ajax({
type: "POST",
url: "index.php",
data: vars
}).done(function(data) {
alert(data);
}).fail(function(data) {
alert(data);
});
在index.php中,我收到所有数据:
<?php
$test = $_POST['test'];
//do something
?>
之后我必须将一个值返回给以前的php。我该怎么办??感谢
与为任何其他HTTP请求发回数据的方式相同。
header("Content-Type: text/plain"); # Avoid introducing XSS vulnerabilities
echo $test;
如果它是一个需要返回的简单值,您只需echo
它,它就会作为响应返回。
如果需要返回更复杂的结构,可以将其存储在PHP数组中,比如$response
,然后使用echo json_encode($response);
将其输出回javascript。
这可能有助于
Javascript
var vars = { test : "test" };
$.ajax({
type: "POST",
url: "index.php",
dataType : 'json',
data: vars,
success : function(data) {
console.log(data);
},
error : function(resp) {
console.log(resp.responseText);
}
});
PHP
<?php
$test = $_POST['test'];
echo json_encode($test);
?>
尝试并检查控制台日志
var vars = "test="+test;
$.ajax({
type: "POST",
url: "index.php",
data: vars
success: function(html){
alert(html)
}
});
在index.php中,输入以下代码并检查
<?php
$test = $_POST['test'];
//do something
echo $test
?>
如果必须以JSON格式返回数据,则使用
echo json_encode($test);
否则,您可以简单地在ajax响应中回显所需的变量。即
echo $test;
相关文章:
- post()向服务器动态生成的数据返回空响应
- jQuery/Ajax-试图通过Ajax创建POST方法并获得对HTML的响应
- jQuery post,访问responseType或回调中的响应
- 如何根据使用Angular2发出的post请求的响应来呈现输出
- 获取从 .post() 到 PHP 文件的响应,但只能在 MVC 中获取
- $http.post() angularjs 响应函数未按正确的顺序执行
- 在javascript中获取 http.post,然后发送响应
- Angular无法读取http post响应中的cookie
- 从aspx.cs页面获取jquery post中的Null响应而不是json
- 检索POST JSON响应
- 在转发到代理目标并将响应发送回客户端之前,编辑POST参数
- Jquery ajax post禁用启用字段并获取响应
- 在文件上传器POST响应中获取额外引号
- 无法模拟POST请求--没有得到正确的响应
- $('body').html()从来自Firefox中$jQuery.post的响应数据中给出了空白内容
- POST 响应未等待回调完成
- 跨域 Post 方法 ajax 调用使用 jQuery 和 XML 响应
- 下载通过 nodejs 响应 POST 请求而发送的文件
- 返回一个纯JS AJAX调用的响应- POST
- 添加基于响应- POST数据发送到电子邮件使用PHP格式