php实现跨域提交form表单的方法【2种方法】


Posted in PHP onOctober 17, 2016

本文实例讲述了php实现跨域提交form表单的方法。分享给大家供大家参考,具体如下:

有时我们为了网站安全考虑,我们不允许直接跨域提交form表单数据,如果我们自己有这个需求呢?下面我们来介绍两种跨域的方法解决直接跨域问题。

下面我们来看看两种php跨域提交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://test.com",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.test.com"); //只允许test.com跨域提交数据

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
关于Intype一些小问题的解决办法
Mar 28 PHP
DEDE采集大师官方留后门的删除办法
Jan 08 PHP
PHP批量生成静态HTML的简单原理和方法
Apr 20 PHP
PHP写的资源下载防盗链类分享
May 12 PHP
PHP curl 抓取AJAX异步内容示例
Sep 09 PHP
教你在PHPStorm中配置Xdebug
Jul 27 PHP
PHP常用工具类大全附全部代码下载
Dec 07 PHP
php获取文件后缀的9种方法
Mar 22 PHP
PHP QRCODE生成彩色二维码的方法
May 19 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
PHP中多线程的两个实现方法
Oct 14 PHP
ThinkPHP5框架中使用JWT的方法示例
Jun 03 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 #PHP
详解PHP原生DOM对象操作XML的方法
Oct 17 #PHP
php排序算法实例分析
Oct 17 #PHP
基于thinkPHP框架实现留言板的方法
Oct 17 #PHP
php并发加锁示例
Oct 17 #PHP
thinkPHP自动验证、自动添加及表单错误问题分析
Oct 17 #PHP
PHP CURL post数据报错 failed creating formpost data
Oct 16 #PHP
You might like
PHP 编程的 5个良好习惯
2009/02/20 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
2019/09/30 PHP
通过Mootools 1.2来操纵HTML DOM元素
2009/09/15 Javascript
Javascript 定时器调用传递参数的方法
2009/11/12 Javascript
js实现回放拖拽轨迹从过程上进行分析
2014/06/26 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
js遍历map javaScript遍历map的简单实现
2016/08/26 Javascript
jQuery ajaxForm()的应用
2016/10/14 Javascript
详解JS去重及字符串奇数位小写转大写
2016/12/29 Javascript
JS正则匹配中文的方法示例
2017/01/06 Javascript
全面总结Javascript对数组对象的各种操作
2017/01/22 Javascript
Angular1.x自定义指令实例详解
2017/03/01 Javascript
vue项目使用axios发送请求让ajax请求头部携带cookie的方法
2018/09/26 Javascript
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
vue 实现根据data中的属性值来设置不同的样式
2020/08/04 Javascript
Python环境变量设置方法
2016/08/28 Python
在Python中pandas.DataFrame重置索引名称的实例
2018/11/06 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
HTML5 用动画的表现形式装载图像
2016/03/08 HTML / CSS
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
英国最好的包装供应商:Priory Direct
2019/12/17 全球购物
毕业生求职推荐信
2013/11/04 职场文书
工厂总经理岗位职责
2014/02/07 职场文书
听课评语大全
2014/04/30 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
三严三实学习心得体会
2014/10/13 职场文书
2014年销售内勤工作总结
2014/12/01 职场文书
挂职个人工作总结
2015/03/05 职场文书
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS