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 相关文章推荐
destoon实现调用当前栏目分类及子分类和三级分类的方法
Aug 21 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
Aug 25 PHP
php的dl函数用法实例
Nov 06 PHP
smarty缓存用法分析
Dec 16 PHP
详解PHP数组赋值方法
Nov 07 PHP
分享php邮件管理器源码
Jan 06 PHP
PHP数学运算与数据处理实例分析
Apr 01 PHP
php 运算符与表达式详细介绍
Nov 30 PHP
Zend Framework动作控制器用法示例
Dec 09 PHP
php封装一个异常的处理类
Jun 08 PHP
PHP闭包定义与使用简单示例
Apr 13 PHP
php+ajax实现文件切割上传功能示例
Mar 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
基于qmail的完整WEBMAIL解决方案安装详解
2006/10/09 PHP
用PHP和ACCESS写聊天室(四)
2006/10/09 PHP
使用PHP实现密保卡功能实现代码<打包下载直接运行>
2011/10/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
js+canvas绘制五角星的方法
2016/01/28 Javascript
深入浅析JavaScript函数前面的加号和叹号
2016/07/09 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
2016/10/21 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
webpack常用配置项配置文件介绍
2016/11/07 Javascript
js仿iphone秒表功能 计算平均数
2017/01/11 Javascript
Bootstrap DateTime Picker日历控件简单应用
2017/03/25 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
实例介绍JavaScript中多种组合继承
2019/01/20 Javascript
vue跳转页面的几种方法(推荐)
2020/03/26 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
2020/12/17 Vue.js
python实现从web抓取文档的方法
2014/09/26 Python
Python-接口开发入门解析
2019/08/01 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
flask框架配置mysql数据库操作详解
2019/11/29 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
Python Print实现在输出中插入变量的例子
2019/12/25 Python
django之从html页面表单获取输入的数据实例
2020/03/16 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
Original Penguin美国官网:布拉德皮特、强尼德普喜爱的服装品牌
2016/10/25 全球购物
xml有哪些解析技术?区别是什么
2016/04/26 面试题
实习护士自我鉴定
2013/10/13 职场文书
大学优秀班集体申报材料
2014/05/23 职场文书
小学假期安全广播稿
2014/09/28 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
杨善洲电影观后感
2015/06/04 职场文书
2016年少先队活动总结
2016/04/06 职场文书