‘壹’ php jquery ajax get 获取json
你好少个设置接收json格式。
$.get(
url,
function(){},
'json'
);
‘贰’ php,javaScript 如何读取并修改json文件
先json_decode将json变成数组,数组比json字符串要好操作些吧
数组修改完毕后,再用json_ecode将数组转为json字符串
最后存入数据库
‘叁’ php json 如何正确的get
一般前端发送 ajax 的时候都有封装好的,直接发送默认就是 json格式的数据,比如 jQuery.js的 $.ajax,$.get,$.post 等,
或者 axios 也可以。
直接把 json 字符串拼接到 url 中很容易出现问题,很可能会出现一些特殊字符没有处理好的情况。
所以,建议直接使用成熟的库。
‘肆’ PHP 判断请求是POST还是GET
针对跨域情况的getjson 或者ajax(jsonp)可以使用ACCEPT请求头部格式来判断
PHP端对应$_SERVER['HTTP_ACCEPT']
jsonp的请求一般是:text/javascript, application/javascript, */*
json的请求:application/json, text/javascript, */*
一个简单的判断跨域条件下的ajax请求:
switch ($_SERVER['HTTP_ACCEPT']){ case 'application/json, text/javascript, */*': // JSON 格式 break; case 'text/javascript, application/javascript, */*': // javascript 或 JSONP 格式 break; case 'text/html, */*': // HTML 格式 break; case 'application/xml, text/xml, */*': // XML 格式 break;
‘伍’ 为什么在js使用ajax的get方法无法接收php发送的json数据
鱼生于水,死于水;草木生于土,死于土;人生于道,死于道。
‘陆’ PHP跨域获取json数据的方法,PHP里面有没有类似ajax的函数
php中的文件读写函数基本上都可直接支持url,也就是说你可以像操作本地文件一样直接操作其他网站的文件(当然只是读取,写入是不可能的),而且没有任何跨域限制,比如下面一行代码就可直接读取网络首页的html代码:
$bd=file_get_contents("http://www..com");
如果想获取json数据,只需把网址换一下即可。当然,还需要做一下格式转换,php本身就有专门的json转换函数:
$json=json_decode(file_get_contents("网址"),true);
这样一看,是不是比前端的ajax还要简单百倍?!
‘柒’ PHP,Ajax中的高手,下面这代码通过ajax返回json对象数组,为什么不能改变<td>中的值,求解释,谢谢……
首先,$("ld").innerText 改成 $("ld").innerHTML, 另3个同理。
其次,你确定你php页面个数据格式 通过ajax访问得到的数据格式,通过 var res_objects=eval("("+myXmlHttpRequest.responseText+")"); 是想要的数据吗? 你可以测试下。建议一般php页面的返回的数据格式 是 直接的字符串格式。
可以如下修改,php返回格式
$ary = array();
for($i=0;$i<count($cities);$i++)
{
$ary[] = $cities[$i] .'='. rand(500,1500);
}
$aryValue = implode("&",$ary); //如:ld=1500&tw=1250&dj=710
echo $aryValue;
js调用
var res = myXmlHttpRequest.responseText ;
var resAry = res.split("&");
for( j=0; j< resAry.length; j ++)
{
newobj = resAry[j].split("=");
if ( newobj.length > 1 )
{
if ( $(newobj[0]) )
$(newobj[0]).innerHTML = newobj[1];
}
}
‘捌’ jquery ajax json php数据交互
因为json_decode()函数是有两个参数的,第二个参数默认是false,你如果不设置的话,他会把数据转换成StdClass,你用[]是无法访问属性的,得用->
所以会返回空白
所以要不然改成$compn->compananme,或者json_decode($db->unsqlin($_GET['compname']),true);
‘玖’ 新手求解为何在js使用ajax的get方法无法接收php发送的json数据
有没有直接访问过PHP页面看看返回的数据是否正常。
在ajax方面,程序有没有走到success里?