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 相关文章推荐
php2html php生成静态页函数
Dec 08 PHP
php将时间差转换为字符串提示
Sep 07 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
Nov 28 PHP
PHP文件缓存类示例分享
Jan 30 PHP
php获取文件类型和文件信息的方法
Jul 10 PHP
ThinkPHP框架里隐藏index.php
Apr 12 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
May 28 PHP
Laravel 5.3 学习笔记之 配置
Aug 28 PHP
php使用glob函数遍历文件和目录详解
Sep 23 PHP
基于ThinkPHP实现的日历功能实例详解
Apr 15 PHP
php mysql PDO 查询操作的实例详解
Sep 23 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
Oct 24 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
一个程序下载的管理程序(二)
2006/10/09 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
jQuery 1.4 15个你应该知道的新特性(译)
2010/01/24 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
详解jQuery简单的表格应用
2016/12/16 Javascript
react.js 翻页插件实例代码
2017/01/19 Javascript
基于JavaScript实现自定义滚动条
2017/01/25 Javascript
JavaScript数组复制详解
2017/02/02 Javascript
for循环 + setTimeout 结合一些示例(前端面试题)
2017/08/30 Javascript
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
利用JS判断客户端类型你应该知道的四种方法
2017/12/22 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
react项目实践之webpack-dev-serve
2018/09/14 Javascript
如何在wxml中直接写js代码(wxs)
2019/11/14 Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
2020/07/27 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
Python三元运算实现方法
2015/01/12 Python
在Python中使用matplotlib模块绘制数据图的示例
2015/05/04 Python
Python 正则表达式的高级用法
2016/12/04 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
2018/01/23 Python
python xpath获取页面注释的方法
2019/01/14 Python
Python3.6实现带有简单界面的有道翻译小程序
2019/04/16 Python
python跳出双层for循环的解决方法
2019/06/24 Python
Python实现仿射密码的思路详解
2020/04/23 Python
美国祛痘、抗衰老药妆品牌:Murad
2016/08/27 全球购物
Bose美国官网:购买Bose耳机和音箱
2019/03/10 全球购物
大门门卫岗位职责
2013/11/30 职场文书
购房意向书
2014/04/01 职场文书
经管应届生求职信范文
2014/05/18 职场文书
法人代表任命书范本
2014/06/05 职场文书
和谐社区口号
2014/06/19 职场文书
单位一把手群众路线四风问题整改措施
2014/09/25 职场文书
员工工作能力评语
2014/12/31 职场文书
挂靠协议书
2015/01/27 职场文书
学者《孟子》名人名言
2019/08/09 职场文书