ajax默认请求的输出格式是你头部的格式
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
则请求回来的是text格式
此时添加上var data = JSON.parse(data)
才是我们需要的对象格式,或者标明请求格式是json
post请求方式,参数以键值对的方式拼接
$('#username').blur(function () {
$.post('register_in.php',{method:'ajax_check_username',username:document.billform.username.value},function (data) {
if(data.status=='205'){
$('#check_username').text(data.text).css("color",'red');
}else{
$('#check_username').text(data.text).css("color",'blue');
}
},'json');
});
ajax请求方式
$.ajax({
cache: false,
type: "POST",
url:"{{route('Api.operate')}}",
data:{
'did':did,
'envid':$.cookie('env'),
'type':type
},
headers: {
'X-CSRF-TOKEN': $("input[name='_token']").val()
},
dataType: 'json',
success: function(res) {
if(res.status){
layer.msg(res.message)
if(type==1){
window.location.href='/Api/list';
}
}else{
layer.msg(res.message);
}
},
error: function(request) {
layer.msg("网络错误,请稍后重试");
},
阻止表单提交
如果按钮使用button
,我不知道为什么有时候手机safari
浏览器会点击提交无反应,但是改成submit
就可以。
改成submit
之后,表单会提交,但是我们有时候做ajax
的时候,不希望表单提交,此时的解决方式是,可以在input
框里面加上onclick="return false;"
不可以使用onsubmit
,然后我们再js
里面写自己的click
时间即可执行
js引用php的json
<script>
var obj = <?=$json?> // 注意不要添加引号
</script>