jq.$post传递参数给php,通过URL参数post传递的实现方式 PHP/Javascript
一般认识url传递参数是以get方式,不过我们也可以用post传递,特别是在做一些接口时,非常有用,本文我们列举了用php和Javascript实现的方法。
PHP实现方法
在做接口,post传递方式,数据以字符串形式传输,返回数据用JSON封装。
然后就开始各种测试啊。
分享最终的方法:
定义抓取函数:
function http_post_data($url, $data_string) { $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json; charset=utf-8', 'Content-Length: ' . strlen($data_string)) ); ob_start(); curl_exec($ch); $return_content = ob_get_contents(); ob_end_clean(); $return_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); return array($return_code, $return_content); }
然后是方法:
$url = "路径"; $data = array(); //数组 $data = json_encode($data); //转化为字符串 list($return_code, $return_content) = http_post_data($url, $data); $return_content = json_decode($return_content,1); var_dump($return_content); //输出返回结果。
window.open url 参数post方式传递
最近在做web项目,碰到需要跨页面传递参数的功能,就是那种需要把当前页面的内容带到新开的子窗体中,以前的做法是传一个id过去,然后在新窗口中去读数据库的内容。虽然不怎么麻烦,但是如果内容么有在数据库里保存,仅仅是处以拟稿状态时,就不能实现了,用户还常常认为是个bug。考虑采用get的方式传递,把需要的内容都序列化然后,通过url去传,显得很臃肿,而且get的传递内容长度有限制。于是就想到用post的方式传递,问题在于open方法不能设置请求方式,一般网页的post都是通过form来实现的。如果仅仅模拟form的提交方式,那么open方法里那种可设置窗体属性的参数又不能用。最后想办法整了这么一个两者结合的方式,将form的target设置成和open的name参数一样的值,通过浏览器自动识别实现了将内容post到新窗口中。
比较有意思的是直接通过调用form的submit方法不能触发onsubmit事件,查看了帮助文档,必须手动的触发,否则只能看到页面刷新而没有打开新窗口。代码中只传递了一个参数内容,实际可传递多个。
具体代码如下:
function openPostWindow(url,name,data) { var tempForm = document.createElement("form"); tempForm.id="tempForm1"; tempForm.method="post"; tempForm.action=url; tempForm.target=name; var hideInput = document.createElement("input"); hideInput.type="hidden"; hideInput.name= "content" hideInput.value= data; tempForm.appendChild(hideInput); tempForm.attachEvent("onsubmit",function(){ openWindow(name); }); document.body.appendChild(tempForm); tempForm.fireEvent("onsubmit"); tempForm.submit(); document.body.removeChild(tempForm); return false; } function openWindow(name) { window.open('about:blank',name,'height=400, width=400, top=0, left=0, toolbar=yes, menubar=yes, scrollbars=yes, resizable=yes,location=yes, status=yes'); }
调用:
');"> 这里是调用;
注意红色部分 如果没有这个,会导致页面上 这种页面丢失,这是 链接的href 和 onclick 共存问题,
请求的链接是用的 A 标签,A上同时写了href和onclick事件。对于链接 A 标签而言,当用户鼠标单击的时候,A对象被触发时会首先去执行onclick部分,然后是href。
解决方法就是:
直接把onclick事件写在href中:href="javascript:openPostWindow(。。。)"
还有一种解决方案:Test
这样是忽略了href部分,这对于通过onclick传递this,或者无法避开a对象时都有用。
jq.$post传递参数给php,通过URL参数post传递的实现方式 PHP/Javascript相关推荐
- android webview参数,Android webView解析URL参数
2015年6月18日 13:56:21 星期四 又当爹又当娘啊............ public void onPageFinished(WebView view, String url) { s ...
- java重定向url有参数吗_JavaScript重定向URL参数的两种方法小结
这篇文章主要介绍的是JavaScript重定向URL参数的两种方法,下面话不多说,直接看示例代码. 一.字符拼接形式 function setUri(para, val) { var strNewUr ...
- java正则获取url参数_正则获取URL参数
一 获取指定URL参数 function getUrlParams(name) { var reg = new RegExp("(^|&)" + name + " ...
- js获取url参数vue.js获取url参数 JQ获取url参数
在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结. 1.window.location.href(设置或获取整个 URL 为字符串) ...
- java url参数加密_针对url参数的加密解密算法(原创)
基本思路是:前端对参数进行加密,并经过urlrewriter进行地址改写传入后台,后台再进行解密.如:对这样一个url--http://1.1.1.1:8080/a.do?param=1,加密 ...
- 百度搜索URL参数你知道多少
http://www.baidu.com/s?wd=关键字 wd(Keyword):查询的关键词: http://www.baidu.com/s?wd=关键字&cl=3 cl(Class):搜 ...
- JS获取当前页面 URL 参数方法(转)
转自:JS获取URL参数方法.js获取当前url中的参数.JS获取URL参数的4种方法总结 法一 const result = new URLSearchParams(this.props.locat ...
- vue2和vue3的参数接受方式以及vue中url参数解码
记录vue2和vue3的接受参数以及vue中url参数解码 vue2 this.$router.onReady(() => {let obj = this.$route.query.obj || ...
- 百度搜索URL参数 搜索关键字
http://www.baidu.com/s?wd=关键字 wd(Keyword):查询的关键词: http://www.baidu.com/s?wd=关键字&cl=3 cl(Class):搜 ...
- 百度搜索URL参数解析详解与对快排的作用!
新增参数(移动端) word=代表手机移动搜索,wd=代表电脑PC搜索 sa=ib(首页) sa=tb(上方搜索输入框) sa=np(内页) ============================= ...
最新文章
- Load Runner测试脚本(tuxedo服务)的编写指南
- 来自Riot 的一份游戏美术教程(五):技术美术
- C#中的cookie编程
- 单机/伪分布式Hadoop2.4.1安装文档
- Oracle分析函数-keep(dense_rank first/last)
- 093:QuerySet API详解-QuerySet转换为SQL的条件
- 吴恩达机器学习【第六天】神经网络模型
- c语言 指针 地址溢出,堆栈溢出,指针在C中
- 用计算机考试怎么作弊,一种防作弊计算机考试系统的制作方法
- 计算机ppt教案设计大赛,广东省创新杯说课大赛计算机类一等奖作品:PPT电子相册制作教学设计...
- 【时事摘抄】(原创)既然故宫领导对错误一慨不知,认神马错?
- iso硬盘安装 凤凰os_多系统下成功硬盘安装phoenix OS
- 两步解决:PDF旋转后怎么保存?
- 使用LabelMe标注目标检测数据集并转换为VOC2017格式
- 有一个字符串,如11.2美元34人民币;如何将数字与单位分开,放入数组中呢,数组比如 attr[0]=11.2 attr[1]=美元 ,依次类推
- 自治,甲骨文继续领先的开始?
- Robocup 仿真2D 学习笔记(三)最初的改进1
- 基于51单片机的扫地小车,扫地机器人设计 主要功能有寻迹避障,来回清扫功能,往返清扫功能
- CentOS 7 安装 TinyProxy 代理服务器
- k8s 之服务发现(service)