如何处理php echo'ajax中的ed消息
how to handle php echo'ed message in ajax.
例如,我正在创建一个AJAX+PHP提交表单。为此,我需要Ajax、PHP和index.html文件来写入输入。问题是,当我提交时,我没有办法重定向页面,所以我创建了这个黑客。(由于页面重定向首先从PHP脚本获得权限)否则显示错误。
AJAX
function submit_form(){
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
if(xmlhttp.responseText.trim() == 'success'){
location.href = '/success';
}
//
var e = doc.querySelector('.form-error').innerHTML = xmlhttp.responseText;
}
}
这是我的PHP。
<?php
echo "/success";
if($_GET){
}else{
echo "error, no value found";
}
正如您所看到的,这允许我重定向页面,因为javascript将读取"/success"
并重定向文档,但其中的一个问题是,我不喜欢使用echo,因为页面在重定向之前实际上显示"成功"。我不希望它在页面上显示任何内容。
将echo
语句更改为return json_encode()
,然后在JS代码中,可以使用JSON.parse()
进行解析;
在PHP中删除此行的斜线:echo "/success";
在您的java脚本代码中,在打印错误之前添加一句else:
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
if(xmlhttp.responseText.trim() == 'success') {
location.href = '/success';
}
else {
var e = doc.querySelector('.form-error').innerHTML = xmlhttp.responseText;
}
}
}
相关文章:
- ajax中的文本链接不带Jquery
- codeigniter ajax中的gzip压缩不起作用
- 如何在提交表单时忽略ajax中的验证规则和消息
- XMLHttpRequest.open()AJAX中的参数url
- postmates api的AJAX中的HTTP身份验证失败
- XMLHttpRequest:需要使用ajax中的成功和错误函数
- $.ajax中的成功并没有被执行
- AJAX 中的 PHP 代码到 POST
- 将函数本身设置为AJAX中的url
- ajax中的语法错误
- 在codeigniter中显示ajax中的验证
- 身份验证-每个ajax中的密钥
- 只将$.ajax中的一个字符串发送到c#
- 表单提交中的数据与Ajax中的数据
- $.get-Ajax中的alert()在IE中不工作
- Ajax中的Symfony2表单验证
- iOS上ajax中的phonegap XML解析器geting错误
- AJAX中的POST数组
- 如何处理php echo'ajax中的ed消息
- jquery ajax中的无效返回