您好,欢迎访问一九零五行业门户网

php跨域提交form表单2种方法

我们知道浏览器因为考虑到安全问题一般情况下是不支持跨域提交form表单了,但有时我们工作又需要了,下面就来看看一篇跨域提交form表单例子。
远程出于安全因素考虑,直接跨域访问是不允许的,下面介绍二种跨域的方法。
一,通过php curl
function curlpost($url,$params) 

 $postdata = ''; 
 foreach($params as $k => $v) 
 { 
 $postdata .= $k . '='.$v.'&'; 
 } 
 rtrim($postdata, '&'); 
 $ch = curl_init(); 
 curl_setopt($ch,curlopt_url,$url); 
 curl_setopt($ch,curlopt_returntransfer,true);
curl_setopt($ch,curlopt_header, false); 
 curl_setopt($ch, curlopt_post, count($postdata)); 
 curl_setopt($ch, curlopt_postfields, $postdata);
$output=curl_exec($ch);
curl_close($ch); 
 return $output; 
}
echo curlpost(http://111cn.net,array('name'=>tank));
以前很多人用curl来抓,邮箱的通讯录,不过现在已经不可以了。哈哈。
二,利用jquery form,ajax提交
1,下载jquery.form.js
2,js代码
$('#testform').submit(function() { 
 $(this).ajaxsubmit({ 
 type: 'post', // 提交方式 get/post 
 datatype:json,//数据类型 
 url: 'your url', // 需要提交的 url 
 success: function(data) { // data 保存提交后返回的数据,一般为 json 数据 
 // 此处可对 data 作相关处理 
 alert('提交成功!'); 
 } 
 $(this).resetform(); // 提交后重置表单 
 }); 
 return false; // 阻止表单自动提交事件 
}); 
3,php代码
header(access-control-allow-origin:*); //跨域权限设置,允许所有
header(access-control-allow-origin:http://www.111cn.net); //只允许111cn.net跨域提交数据
其它类似信息

推荐信息