<?php

//$a = "{'id':'1'}";
//$b = '{"id":1}';
//$a = iconv('ASCII',"UTF-8",$a);
//var_dump(json_decode($a));
//var_dump(json_last_error());
//var_dump(json_last_error_msg());
//var_dump(mb_detect_encoding($a, array("ASCII","GB2312","GBK","UTF-8")));
//
//exit; //放在body中的内容要用php://input接受
//同事,json_decode转换的时候要在第二个参数加上true,否则转换的时候不是数组而是对象
$body = json_decode(file_get_contents('php://input'),true); //这里使用echo 的原因是因为return 无法在页面中输入,前台无法捕捉到返回的内容
if(isset($body['id']) && $body['id'] == 1){
echo json_encode(['data'=>['FENG','PENG','CHAO']]);
}else{
?>
<input type="submit" onclick="rand()" value="点击生成1000个随机数" style="position: fixed;right:0;top: 45%;"/> <div id="dd" style="width: 100%;text-align: center"></div>
<script>
function rand(){ var xmlHttp = new XMLHttpRequest(); //2.为引擎对象绑定监听事件 xmlHttp.onreadystatechange = function() { //当状态变化时处理的事情 if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { //5.接收响应信息
var data = JSON.parse(xmlHttp.responseText);//将json字符串解析为对象 document.getElementById("dd").innerHTML=data.data;
} } //3.绑定服务器地址 //第一个参数:请求方式GET/POST //第二个参数:后台服务器地址 //第三个参数:是否是异步 true--异步true   false--同步 xmlHttp.open("POST", "",false );//发送方式
xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=utf-8");//如果想要将发送的内容放到body中,那么必须要加上这句话 //4.发送请求
//发送内容,注意这里的单引号和双引号的顺序,如果顺序出错,那么后台将无法解析该字符串
xmlHttp.send('{"id":1}'); // $.ajax({
// data:{id:1},
// dataType:'JSON',
// type:'post',
// success:function(res){
// $.each(res.data,function(idex,item){
// $("#dd").append(item.token+'<br>');
// })
// }
// }) }
</script> <?php }?>

js配合php原生代码发送ajax请求的更多相关文章

  1. 原生js发送ajax请求

    堕落了一阵子了,今天打开博客,发现连登录的用户名和密码都不记得了.2016年已过半,不能再这么晃荡下去了. 参加了网易微专业-前端攻城狮 培训,目前进行到大作业开发阶段,感觉举步维艰.但是无论如何,不 ...

  2. 在发送ajax请求时加时间戳或者随机数去除js缓存

    在发送ajax请求的时候,为了保证每次的都与服务器交互,就要传递一个参数每次都不一样,这里就用了时间戳 大家在系统开发中都可能会在js中用到ajax或者dwr,因为IE的缓存,使得我们在填入相同的值的 ...

  3. js中使用队列发送ajax请求

    最近,项目中需要按照先后顺序发送ajax请求,并且在一次请求结束后才能发起下一次,不然就会导致逻辑错误. 解决办法是定义一个数组,保存ajax请求数据. 以下使用extjs4定义一个类 Ext.def ...

  4. 从零开始学 Web 之 Vue.js(四)Vue的Ajax请求和跨域

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  5. JQuery发送ajax请求不能用数组作为参数

    JQuery发送ajax请求不能用数组作为参数,否则会接收不到参数, 一.js代码如下: $('#delete-button').click(function(){        var select ...

  6. MOCK.JS 生成随机数据,拦截 Ajax 请求

    mock.js 的用处 前后端分离 :让前端攻城师独立于后端进行开发. 增加单元测试的真实性 :通过随机数据,模拟各种场景. 开发无侵入 :不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响 ...

  7. 【liferay】1、使用alloy-UI发送ajax请求

    1.首先liferay要发送ajax请求,那么就需要在jsp中定义resourceURL <portlet:resourceURL var="workDeal" id=&qu ...

  8. rails中发送ajax请求

    最近在写一个blog系统练练手,遇到一个一个问题,用户添加评论的时候想发送ajax请求,但是rails里的ajax和Python中的不太一样,Python中的ajax是用js,jquery实现的和ra ...

  9. easyUi 学习笔记 (二 ) 使用tabs 里datagridview 发送ajax请求 不访问后台的问题

    这个BUG 我花了一个半小时, 还是看不出哪里的问题,  于是就百度到这么一段话,我需要记住 <================================================= ...

随机推荐

  1. window安装elasticsearch和kibana

    本次测试安装5.1.1版本 es下载地址:https://www.elastic.co/downloads/past-releases/elasticsearch-5-1-1 选择zip kibana ...

  2. Httprunner初步学习

    一:简介 一直在技术博客上看到Httprunner测试框架,但始终不太明白这个框架的具体作用,今天就花点时间来初步学习了解一下. HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架, ...

  3. Vim常用按键

  4. SRX_Test_2_key

    转载自 Livedream YBT1396 #include<iostream> #include<map> #include<queue> #include< ...

  5. LaTeX中的数学公式之矩阵

    矩阵的代码及注释: 显示效果:

  6. mysql GTID主从复制故障后不停机恢复同步流程

    GTID实现主从复制数据同步 GTID是一个基于原始mysql服务器生成的一个已经被成功执行的全局事务ID,它由服务器ID以及事务ID组成,这个全局事务ID不仅仅在原始服务器上唯一,在所有主从关系的m ...

  7. CentOS6.5&7更改开机启动时的CentOS标题

    #现有CentOS6.5改以下配置文件 sed -i 's/CentOS/DntOS/g' /etc/centos-release sed -i 's/CentOS/DntOS/g' /etc/iss ...

  8. C语言--计算代码段运行时间

    c语言中有专一包含计算时间函数的头文件,time.h.当我们需要计算某段程序运行的时间时就需要用到time.h包含的clock()函数,在这里介绍一下如何使用这个函数计算代码运行时间. clock函数 ...

  9. java ipv6发邮件需要注意的点

    和ipv4发邮件一样,毕竟ip只是用来找地址的,v4 v6使用上基本没区别. 但有一点得注意:java ipv6采用发送RST包来通知邮件服务器断开连接,这样会导致客户端抛 MessagingExce ...

  10. mysql中innodb引擎的mvcc机制和BufferPool缓存机制

    一.MVCC (1)mvcc主要undo日志版本链和read-view一致性视图来保证多事务的并发控制,mvcc是innodb的一种特殊机制,他保证了事务四大特性之一的隔离性(原子性,一致性,隔离性) ...