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 相关文章推荐
用PHP和ACCESS写聊天室(一)
Oct 09 PHP
PHP mcrypt可逆加密算法分析
Jul 19 PHP
php数据结构与算法(PHP描述) 查找与二分法查找
Jun 21 PHP
无需重新编译php加入ftp扩展的解决方法
Feb 07 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
Aug 10 PHP
php获取文件类型和文件信息的方法
Jul 10 PHP
PHP安装threads多线程扩展基础教程
Nov 17 PHP
PHP异常处理Exception类
Dec 11 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
Dec 17 PHP
Linux环境下php实现给网站截图的方法
May 03 PHP
php 多个变量指向同一个引用($b = &$a)用法分析
Nov 13 PHP
Yii框架小部件(Widgets)用法实例详解
May 15 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语法(2)
2006/10/09 PHP
php 向访客和爬虫显示不同的内容
2009/11/09 PHP
php 用checkbox一次性删除多条记录的方法
2010/02/23 PHP
php urlencode()与urldecode()函数字符编码原理详解
2011/12/06 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
一个JQuery操作Table的代码分享
2012/03/30 Javascript
alert中断settimeout计时功能
2013/07/26 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
Eclipse去除js(JavaScript)验证错误
2014/02/11 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
JQuery球队选择实例
2015/05/18 Javascript
使用Function.apply()的参数数组化来提高 JavaScript程序性能的技巧
2015/12/23 Javascript
给easyui datebox扩展一个清空的实例
2016/11/09 Javascript
vue 中自定义指令改变data中的值
2017/06/02 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
JavaScript实现省市联动效果
2019/11/22 Javascript
React生命周期原理与用法踩坑笔记
2020/04/28 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
python实现石头剪刀布程序
2021/01/20 Python
对python实现模板生成脚本的方法详解
2019/01/30 Python
Django的性能优化实现解析
2019/07/30 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
Django ModelForm操作及验证方式
2020/03/30 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
我的祖国演讲稿
2014/05/04 职场文书
2014年酒店年度工作总结
2014/12/10 职场文书
民主评议党员个人总结
2015/02/13 职场文书
关于CSS自定义属性与前端页面的主题切换问题
2022/03/21 HTML / CSS