Deprecated
: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in
/www/wwwroot/testblog.58heshihu.com/var/Widget/Archive.php
on line
1057
首页
关于
Search
1
给你10个市场数据调研报告的免费下载网站!以后竞品数据就从这里找!
182 阅读
2
php接口优化 使用curl_multi_init批量请求
144 阅读
3
《从菜鸟到大师之路 ElasticSearch 篇》
107 阅读
4
2024年备考系统架构设计师
104 阅读
5
PHP 文件I/O
92 阅读
php
thinkphp
laravel
工具
开源
mysql
数据结构
总结
思维逻辑
令人感动的创富故事
读书笔记
前端
vue
js
css
书籍
开源之旅
架构
消息队列
docker
教程
代码片段
redis
服务器
nginx
linux
科普
java
c
ElasticSearch
测试
php进阶
php基础
登录
Search
标签搜索
php函数
php语法
性能优化
安全
错误和异常处理
问题
vue
Composer
Session
缓存
框架
Swoole
api
并发
异步
正则表达式
php-fpm
mysql 索引
开发规范
协程
dafenqi
累计撰写
786
篇文章
累计收到
28
条评论
首页
栏目
php
thinkphp
laravel
工具
开源
mysql
数据结构
总结
思维逻辑
令人感动的创富故事
读书笔记
前端
vue
js
css
书籍
开源之旅
架构
消息队列
docker
教程
代码片段
副业
redis
服务器
nginx
linux
科普
java
c
ElasticSearch
测试
php进阶
php基础
页面
关于
搜索到
2
篇与
的结果
2023-08-10
关于 php json接口开发的注意问题
关于 php json接口开发的注意问题一是注意跨域问题.需要加 Access-Control-Allow-Origin:* http头.(针对于前端浏览器脚本调用接口)二是如果请求的header里 Content-Type: 是 application/json,则需要用 file_get_contents("php://input");接收.如果用 swoole 框架的话,需要用$request->rawContent()接收.如果请求header里Contente-Type是 multipart/form-data,或application/x-www-form-urlencoded或application/octet-stream则需要用 $_POST($_GET)或$_FILES来接收.Ps :js 代码调用接口示例如下1.要加contentType: "application/json; charset=utf-8",2.需要使用JSON.stringify 转换json对象或把对象转为字符形式,如'{"aa":22}'(json两边加单引号)var submit_sync = function() {$.<a class="wpal-linked-keyword" href="https://ajax.p2hp.com/" target="_blank">ajax</a>({ type: "post", url: 'add-post-json.php', async: false, // 使用同步方式 // 1 需要使用JSON.stringify 否则格式为 a=2&b=3&now=14... // 2 需要强制类型转换,否则格式为 {"a":"2","b":"3"} data: JSON.stringify({ a: parseInt($('input[name="a"]').val()), b: parseInt($('input[name="b"]').val()), now: new Date().getTime() // 注意不要在此行增加逗号 }), contentType: "application/json; charset=utf-8", dataType: "json", success: function(data) { $('#result').text(data.result); } // 注意不要在此行增加逗号 }); }PHP请求接口的代码如下:<?phpfunction curl_post($url, $data, $json=true){ $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, $url); if ($json && is_array($data)) { $data = json_encode($data, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES); } curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_NOSIGNAL, 1); //注意,毫秒超时一定要设置这个 curl_setopt($ch, CURLOPT_TIMEOUT_MS, 2500); //超时毫秒,cURL 7.16.2中被加入。从PHP 5.2.3起可使用if ($json) {curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8','Content-Length:'.strlen($data)));} $relt = curl_exec($ch); var_dump($relt); curl_close($ch); return $relt;}$data=array('key'=>'value');curl_post('http://192.168.6.76:9523/?op=test', $data, true);开发中一般不要用前端代码去调用非本系统的接口地址.参考 https://blog.csdn.net/wangjun5159/article/details/47781443https://blog.csdn.net/wangjun5159/article/details/49644507
2023年08月10日
11 阅读
0 评论
0 点赞
2023-08-09
PHP处理json的注意点
PHP处理json的注意点代码说明:<?php $json=json_encode($messagebody,JSON_UNESCAPED_UNICODE);//把数据转换成json格式时要加 JSON_UNESCAPED_UNICODE参数,不要把中文转换成 unicode $data =file_get_contents('php://input', 'r'); $data=ltrim($data,"\XEF\XBB\XBF");//去bom $json=json_decode($data,false,512,JSON_BIGINT_AS_STRING); //解析json时,记得加 JSON_BIGINT_AS_STRING参数,把大数字转为字符串,防止传入大的数字而解析不完整。 if (json_last_error() === JSON_ERROR_NONE) { //json格式检查 //没错误可以继续了 } else { //不是一个json格式,记录错误日志 $mmsg=json_last_error_msg(); error_log('not a json:'.$mmsg."\n".$data."\n",3,'errorjson.log'); }
2023年08月09日
10 阅读
0 评论
0 点赞