重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个可以通过PHP的curl请求来提交数据到其他的网站!获取执行的结果即可!以下是一个示例。
专注于为中小企业提供成都做网站、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业邯郸免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
function curlpost($data,$url){ //curlpost提交函数
$data=array('data'=$data);
$ch = curl_init ();
curl_setopt ($ch, CURLOPT_URL, $url );
curl_setopt ($ch, CURLOPT_POST, true );
curl_setopt ($ch, CURLOPT_HEADER, 0 );
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data );
$state=curl_exec ($ch );
curl_close ($ch );
return $state;
}
使用thinkphp框架开发,不知道如何返回JSON字符串,ajax无法调用 有三种方式可以返回
1、若是数据库实体,可以使用toJson()方法
$user = User::get(1); echo $user-toJson();
2、若非数据库实体,可以使用json view方法,thinkphp除了实现response对象,还实现了jsonResponse若非数
$data = [ 'result'='success', 'msg'='操作成功!' ]; //class Json extends Response
return json($data);
3、若非数据库实体,可以使用json_encode()方法:
$data = [ 'result'='success', 'msg'='操作成功!' ];
return json_encode($data);
thinkphp5 ajax如何返回json
方法1: 用file_get_contents 以get方式获取内容
[php] view plaincopyprint?
?php
$url='';
$html = file_get_contents($url);
echo $html;
?
方法2: 用fopen打开url, 以get方式获取内容
[php] view plaincopyprint?
?php
$fp = fopen($url, 'r');
//返回请求流信息(数组:请求状态,阻塞,返回值是否为空,返回值http头等)
[php] view plaincopyprint?
stream_get_meta_data($fp);
[php] view plaincopyprint?
while(!feof($fp)) {
$result .= fgets($fp, 1024);
}
echo "url body: $result";
fclose($fp);
?
摘一段代码给你。请参考。
/**
* Curl 远程post请求
* @param type $get_url 请求url
* @param type $postdata 请求参数
* @return boolean
*/
function postCurlDatas($get_url, $postdata = '', $other_options = array()) {
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $get_url); // 要访问的地址
// curl_setopt($curl, CURLOPT_USERAGENT, $GLOBALS ['user_agent']);
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
curl_setopt($curl, CURLOPT_POST, true); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_DNS_USE_GLOBAL_CACHE, false); // 禁用全局DNS缓存
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata); //此参数必须在上面的参数之后,切记
if (!empty($other_options['userpwd'])) {
curl_setopt($curl, CURLOPT_USERPWD, $other_options['userpwd']);
}
if (!empty($other_options['time_out'])) {
curl_setopt($curl, CURLOPT_TIMEOUT, $other_options['time_out']);
} else {
curl_setopt($curl, CURLOPT_TIMEOUT, 5); // 设置超时限制防止死循环
}
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$ret = curl_exec($curl); // 执行操作
if ($ret === false) {
echo 'Curl error: ' . curl_error($curl);
curl_close($curl);
return false;
}
if ($other_options['return_detail'] == true) {
$detail = curl_getinfo($curl);
if (is_array($detail)) {
$detail['return_content'] = $ret;
}
$ret = $detail;
}
curl_close($curl); // 关闭CURL会话
return $ret;
}
首先你需要使用对方约定方式获取,然后考虑是否使用缓存,最后获取到数据后使用json_decode函数解析成数组格式,接下来就是自己的逻辑代码了。
json_decode函数就可以,试试看这样的语句你就明白了:
$obj=json_decode($res);
$arr=json_decode($res,true);
print_r($obj);
print_r($arr);