• 关于

    $.post()

    的搜索结果

回答

$('.button_addTag').click(function(){ var $this = $(this); var marketTitle = $('#sug_startup_market').val(); var temp = 1 ; $('.button_addTag').parents('li').find('.added_tag span').each(function(i,val){ if($.trim($(val).text())==$.trim(marketTitle)){ temp = 0; } }); if($this.parents('li').find('.added_tag span').length >= 5 || temp ==0){ $('#myMarketEdit').siblings('div').find('.form_wrong_tips').text('最多只能选择五个行业').show(); $('#sug_startup_market').val(""); $('#sug_startup_market').parent().find('ul').hide(); return false; } if(marketTitle != ''){ var postData = "startupId=0&investorId=0&marketItem.title="+marketTitle; $.ajax({ type : "POST", url : "/common/addMarket.html", data : postData, success : function(response) { response = window["eval"]("(" + response + ")"); if(response!=null){ $this.parents('li').find('.added_tag').append("<span item_id=\""+response.id+"\">"+response.title+"<strong class=\"delete\"></strong></span>"); var tagTitle = response.title; if($('.added_tag').parents('li').find('.form_hot_tag a').length>0){ $('.added_tag').parents('li').find('.form_hot_tag a').each(function(i,val){ if($.trim($(val).text())==$.trim(tagTitle)){ $(val).addClass('added'); } }); } } $('#sug_startup_market').val(""); $('#sug_startup_market').parent().find('ul').hide(); return false; } }); }; }); 这是一个工程的代码,你看,好像能满足你的要求

a123456678 2019-12-02 03:06:32 0 浏览量 回答数 0

问题

destoon 的上传文件upload.php怎么整合oss

nemovip 2019-12-01 20:21:22 1287 浏览量 回答数 1

问题

AJAX提交表单同一个手机注册多个账号问题

小旋风柴进 2019-12-01 20:26:37 899 浏览量 回答数 0

阿里云域名特惠专场,热门域名1元抢购!

全网低价特惠,顶级域名低至1元,更有96元/年服务器限时抢购!

回答

经过@lee1994522 的提醒,意识到如果用了$.post方法,那么脱离了angular的上下文,所以无法绑定到angular的$scope里。 `this is the point,pls.. $.post is not an Angular issue and the stuffit wraps is not in an Angular world,so it's obviously that theequipments outside is in Angular's world and it works as you expect try $scope.$apply() when you call a "none Angular" issue if you wanna refresh sth`解决办法有两个: $.post第一个诚如@lee1994522所说,直接在$.post的回调函数的最后加上一句$scope.$apply(),把改变同步绑定到视图上 $.post("xxx.action", {}, function(response){ if(response.result == "success"){ ... } $scope.equipments = equipments; $scope.$apply(); } }, "json" ); $http.post AngularJS - Any way for $http.post to send request parameters instead of JSON 全局里定义: var app = angular.module('myApp'); app.config(function ($httpProvider) { $httpProvider.defaults.transformRequest = function(data){ if (data === undefined) { return data; } return $.param(data); } $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'; }); 然后控制器里面写: $http.post("xxx.action").success(function(response) { ... $scope.equipments = equipments; });

爵霸 2019-12-02 01:58:04 0 浏览量 回答数 0

问题

AJAX提交表单同一个手机注册多个账号问题 ?

小旋风柴进 2019-12-01 19:30:37 917 浏览量 回答数 0

回答

一般瀑布流插件有配置支持动态从数据库中读取数据的,你认真看下API。 如果确认你的这个不支持动态读取,只能换一个瀑布流插件了,如这个: (function ($) { var //参数 setting = { column_width: 240, //列宽 column_className: 'waterfall_column', //列的类名 column_space: 10, //列间距 cell_selector: '.cell', //要排列的砖块的选择器,context为整个外部容器 img_selector: 'img', //要加载的图片的选择器 auto_imgHeight: true, //是否需要自动计算图片的高度 fadein: true, //是否渐显载入 fadein_speed: 600, //渐显速率,单位毫秒 insert_type: 1, //单元格插入方式,1为插入最短那列,2为按序轮流插入 getResource: function (index) { } //获取动态资源函数,必须返回一个砖块元素集合,传入参数为加载的次数 }, // waterfall = $.waterfall = {}, //对外信息对象 $waterfall = null; //容器 waterfall.load_index = 0, //加载次数 $.fn.extend({ waterfall: function (opt) { opt = opt || {}; setting = $.extend(setting, opt); $waterfall = waterfall.$waterfall = $(this); waterfall.$columns = creatColumn(); render($(this).find(setting.cell_selector).detach(), false); //重排已存在元素时强制不渐显 waterfall._scrollTimer2 = null; $(window).bind('scroll', function () { clearTimeout(waterfall._scrollTimer2); waterfall._scrollTimer2 = setTimeout(onScroll, 300); }); waterfall._scrollTimer3 = null; $(window).bind('resize', function () { clearTimeout(waterfall._scrollTimer3); waterfall._scrollTimer3 = setTimeout(onResize, 300); }); } }); function creatColumn() {//创建列 waterfall.column_num = calculateColumns(); //列数 //循环创建列 var html = ''; for (var i = 0; i < waterfall.column_num; i++) { html += '<div class="' + setting.column_className + '" style="width:' + setting.column_width + 'px; display:inline-block; *display:inline;zoom:1; margin-left:' + setting.column_space / 2 + 'px;margin-right:' + setting.column_space / 2 + 'px; vertical-align:top; overflow:hidden"></div>'; } $waterfall.prepend(html); //插入列 return $('.' + setting.column_className, $waterfall); //列集合 } function calculateColumns() {//计算需要的列数 var num = Math.floor(($waterfall.innerWidth()) / (setting.column_width + setting.column_space)); if (num < 1) { num = 1; } //保证至少有一列 return num; } function render(elements, fadein) {//渲染元素 if (!$(elements).length) return; //没有元素 var $columns = waterfall.$columns; $(elements).each(function (i) { if (!setting.auto_imgHeight || setting.insert_type == 2) {//如果给出了图片高度,或者是按顺序插入,则不必等图片加载完就能计算列的高度了 if (setting.insert_type == 1) { insert($(elements).eq(i), setting.fadein && fadein); //插入元素 } else if (setting.insert_type == 2) { insert2($(elements).eq(i), i, setting.fadein && fadein); //插入元素 } return true; //continue } if ($(this)[0].nodeName.toLowerCase() == 'img' || $(this).find(setting.img_selector).length > 0) {//本身是图片或含有图片 var image = new Image; var src = $(this)[0].nodeName.toLowerCase() == 'img' ? $(this).attr('src') : $(this).find(setting.img_selector).attr('src'); image.onload = function () {//图片加载后才能自动计算出尺寸 image.onreadystatechange = null; if (setting.insert_type == 1) { insert($(elements).eq(i), setting.fadein && fadein); //插入元素 } else if (setting.insert_type == 2) { insert2($(elements).eq(i), i, setting.fadein && fadein); //插入元素 } image = null; } image.onreadystatechange = function () {//处理IE等浏览器的缓存问题:图片缓存后不会再触发onload事件 if (image.readyState == "complete") { image.onload = null; if (setting.insert_type == 1) { insert($(elements).eq(i), setting.fadein && fadein); //插入元素 } else if (setting.insert_type == 2) { insert2($(elements).eq(i), i, setting.fadein && fadein); //插入元素 } image = null; } } image.src = src; } else {//不用考虑图片加载 if (setting.insert_type == 1) { insert($(elements).eq(i), setting.fadein && fadein); //插入元素 } else if (setting.insert_type == 2) { insert2($(elements).eq(i), i, setting.fadein && fadein); //插入元素 } } }); } function public_render(elems) {//ajax得到元素的渲染接口 render(elems, true); } function insert($element, fadein) {//把元素插入最短列 if (fadein) {//渐显 $element.css('opacity', 0).appendTo(waterfall.$columns.eq(calculateLowest())).fadeTo(setting.fadein_speed, 1); } else {//不渐显 $element.appendTo(waterfall.$columns.eq(calculateLowest())); } } function insert2($element, i, fadein) {//按序轮流插入元素 if (fadein) {//渐显 $element.css('opacity', 0).appendTo(waterfall.$columns.eq(i % waterfall.column_num)).fadeTo(setting.fadein_speed, 1); } else {//不渐显 $element.appendTo(waterfall.$columns.eq(i % waterfall.column_num)); } } function calculateLowest() {//计算最短的那列的索引 var min = waterfall.$columns.eq(0).outerHeight(), min_key = 0; waterfall.$columns.each(function (i) { if ($(this).outerHeight() < min) { min = $(this).outerHeight(); min_key = i; } }); return min_key; } function getElements() {//获取资源 $.waterfall.load_index++; return setting.getResource($.waterfall.load_index, public_render); } waterfall._scrollTimer = null; //延迟滚动加载计时器 function onScroll() {//滚动加载 clearTimeout(waterfall._scrollTimer); waterfall._scrollTimer = setTimeout(function () { var $lowest_column = waterfall.$columns.eq(calculateLowest()); //最短列 var bottom = $lowest_column.offset().top + $lowest_column.outerHeight(); //最短列底部距离浏览器窗口顶部的距离 var scrollTop = document.documentElement.scrollTop || document.body.scrollTop || 0; //滚动条距离 var windowHeight = document.documentElement.clientHeight || document.body.clientHeight || 0; //窗口高度 if (scrollTop >= bottom - windowHeight) { render(getElements(), true); } }, 100); } function onResize() {//窗口缩放时重新排列 if (calculateColumns() == waterfall.column_num) return; //列数未改变,不需要重排 var $cells = waterfall.$waterfall.find(setting.cell_selector); waterfall.$columns.remove(); waterfall.$columns = creatColumn(); render($cells, false); //重排已有元素时强制不渐显 } })(jQuery); 配置getResource即可。。自己用ajax读出数据后调用render回调即可 var totalpage = 1;//从数据库中读取总页数赋值给这个js变量,如<%=你的服务器端变量名%> function getResource(index, render) { if (index + 1 > totalpage || opt.loading) return false; opt.loading = true; $.ajax({ url: '动态页地址', data: { page: index + 1, pagesize: 8}, type: 'POST', complete: function (xhr) { opt.loading = false; $('#pLoading').hide(); render($(xhr.responseText)); } }); } var opt = { auto_imgHeight: true, insert_type: 1 }; if (totalpage > 1) opt.getResource = getResource; $('#waterfall').waterfall(opt);

吴孟桥 2019-12-02 02:27:46 0 浏览量 回答数 0

问题

jQuery传递数据同时上传文件到php后台的问题

小旋风柴进 2019-12-01 20:11:46 1154 浏览量 回答数 1

问题

关于var rspJson=JSON.parse(data)的语法错误

蛮大人123 2019-12-01 19:58:33 2104 浏览量 回答数 2

问题

js 变量 问题。。

a123456678 2019-12-01 20:18:08 782 浏览量 回答数 1

问题

android app通过php API连接数据库实现注册问题

小旋风柴进 2019-12-01 20:12:20 1287 浏览量 回答数 1

问题

采用jquery 的ajax,提交程序出现两次,真奇怪

a123456678 2019-12-01 20:17:22 1445 浏览量 回答数 1

问题

jquery 当下拉框中的值选定时某些输入框变成灰色无法使用

a123456678 2019-12-01 20:19:05 1777 浏览量 回答数 1

问题

请教ONS(PHP)的问题。。。

mybizsite 2019-12-01 19:35:12 1156 浏览量 回答数 1

回答

ajax提交。提交时,把想要提交的数据提交就好了啊。或者按钮提交触发Form 的 Submit,隐藏于的数据自然也能提交。 var hideVal = $('#hideVal').val(); username = $('#username').val(); password = $('#password').val(); var encrypt = new JSEncrypt(); encrypt.setPublicKey($('#publicKey').val()); $('input').blur(); $.ajax({ url:'/login.do', async:true, cache:false, data:{username:username,password:encrypt.encrypt(password),hideVal:hideVal}, dataType:'json', type:'post', success:function(data){ if(data.ret_code == '000' ){ window.location.href = '/MOA/resources/html/index.html'; }else{ $.toast(data.ret_msg); } $('.loginbtn').text("登 录"); }, error:function(){$.toast('登录错误!');}, beforeSend:function(){ $('.loginbtn').text("登录中"); } });

吴孟桥 2019-12-02 02:36:10 0 浏览量 回答数 0

问题

回车提交表单问题

a123456678 2019-12-01 20:15:34 863 浏览量 回答数 1

回答

基于 PHP/CURL 编写的类库, 使用方法见注释.直接使用, 不用处理Cookie(程序自动会处理, Cookie信息保存于调用类时传递的参数所指定的文件里).<?php /** * Author: dds_feng * Email: dds_feng@qq.com * * Example: * $http = new HttpClient(__DIR__.'/cookie.ck'); * $http->SetReferer('http://foo.com');//set request referer * echo $http->Get('http://foo.com/');//get * $http->SetProxy('http://127.0.0.1:8888');//set http proxy * echo $http->Post('http://bar.com/xxx', array('a'=>'123', 'b'=>'456'));//post **/ class HttpClient{ private $ch; function __construct($cookieJar){ $this->ch = curl_init(); curl_setopt($this->ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36');//UA curl_setopt($this->ch, CURLOPT_TIMEOUT, 60);//timeout curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, TRUE);//follow redirection curl_setopt($this->ch, CURLOPT_AUTOREFERER, true); curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, FALSE);//ssl curl_setopt($this->ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($this->ch, CURLOPT_COOKIEJAR, $cookieJar);//cookie jar curl_setopt($this->ch, CURLOPT_COOKIEFILE, $cookieJar); } function __destruct(){ curl_close($this->ch); } final public function SetProxy($proxy='http://127.0.0.1:8888'){ //curl_setopt($this->ch, CURLOPT_HTTPPROXYTUNNEL, TRUE); curl_setopt($this->ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);//HTTP proxy //curl_setopt($this->ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);//Socks5 proxy curl_setopt($this->ch, CURLOPT_PROXY, $proxy); } final public function SetReferer($ref=''){ if($ref != ''){ curl_setopt($this->ch, CURLOPT_REFERER, $ref);//Referrer } } final public function SetCookie($ck=''){ if($ck != ''){ curl_setopt($this->ch, CURLOPT_COOKIE, $ck);//Cookie } } final public function Get($url, $header=false, $nobody=false){ curl_setopt($this->ch, CURLOPT_POST, false);//GET curl_setopt($this->ch, CURLOPT_URL, $url); curl_setopt($this->ch, CURLOPT_HEADER, $header);//Response Header curl_setopt($this->ch, CURLOPT_NOBODY, $nobody);//Response Body return curl_exec($this->ch); } final public function Post($url, $data=array(), $header=false, $nobody=false){ curl_setopt($this->ch, CURLOPT_URL, $url); curl_setopt($this->ch, CURLOPT_HEADER, $header);//Response Header curl_setopt($this->ch, CURLOPT_NOBODY, $nobody);//Response Body curl_setopt($this->ch, CURLOPT_POST, true);//POST curl_setopt($this->ch, CURLOPT_POSTFIELDS, http_build_query($data));//data return curl_exec($this->ch); } final public function getError(){ return curl_error($this->ch); } } // vim: noexpandtab tabstop=4 shiftwidth=4 softtabstop=4:

蛮大人123 2019-12-02 01:53:32 0 浏览量 回答数 0

问题

出现点击一次按钮,提交多次数据的情况,第1次正常,第2次提交2次,第3次3次..........

小旋风柴进 2019-12-01 19:21:58 1514 浏览量 回答数 1

回答

ajax提交到edit.php,edit.php中若保存成功,用header("Location:update.php");返回。。 其实我想你是想用ajax完成,只要一个edit文件,提交之后,edit接收到表单,保存成功,把保存的信息比如转成json返回,游览器接收到再去完成一些dom操作。 like $.ajax({ type:'post', url:'edit.php', success:function(data){ $(result).html(JSON.parse(data)); } }) 全选复制放进笔记// 摘自自己去年年初写的页面TAT大牛请轻喷 <?php include("common/conn.php");//链接数据库 $type=htmlspecialchars($_POST['type']); $uid=$_SESSION['uid']; $content=htmlspecialchars($_POST['content']); $content=mysql_escape_string($content); $create_time=date("Y-m-d H:i:s"); $checkstate='1'; $query="INSERT INTO f_post(type,uid,content,create_time,checkstate) VALUES('$type','$uid','$content','$create_time','$checkstate')"; $queryId="SELECT P.`id` FROM `f_post` P WHERE `uid`=".$uid." ORDER BY P.`id` DESC LIMIT 1"; if($mysqli->query($query)===TRUE){ if($pids=$mysqli->query($queryId)) { while($id=$pids->fetch_object()) { $pid=$id->id; } } $result = array( 'id'=>$pid, 'type'=>$type, 'uid'=>$uid, 'content'=>$content, 'create_time'=>date("H:i:s Y-m-d",strtotime($create_time)), 'editable'=>true ); echo json_encode($result); } else exit();

小旋风柴进 2019-12-02 02:19:17 0 浏览量 回答数 0

问题

jquery ajax 赋值 回调函数

a123456678 2019-12-01 20:18:46 867 浏览量 回答数 1

问题

thinkphp_sql查询语句

a123456678 2019-12-01 20:15:12 826 浏览量 回答数 1

问题

PHP+AJAX交互判断用户名是否存在

小旋风柴进 2019-12-01 19:29:19 1074 浏览量 回答数 1

回答

<?php session_start(); /** PBKDF2 Implementation (as described in RFC 2898); * * @param string p password * @param string s salt * @param int c iteration count (use 1000 or higher) * @param int kl derived key length * @param string a hash algorithm * * @return string derived key */ function pbkdf2_helper_for_javascript( $p, $s, $c, $kl, $a = 'sha256' ) { $hl = strlen( hash( $a, null, true ) ); $kb = ceil( $kl / $hl ); $dk = ''; for ( $block = 1; $block <= $kb; $block++ ) { $ib = $b = hash_hmac( $a, $s . pack( 'N', $block ), $p, true ); for ( $i = 1; $i < $c; $i++ ) { $ib ^= ( $b = hash_hmac( $a, $b, $p, true ) ); } $dk .= $ib; } return substr( $dk, 0, $kl ); } function dectypt_from_javascript_encrypt($dectypted_str, $callback = null) { $salt = $_SESSION['password_salt']; $secret_key = $_SESSION['password_secret']; //get the cipher key $key = pbkdf2_helper_for_javascript( $secret_key, $salt, 1000, 32 ); //get the IV $iv64 = $_REQUEST['iv']; $iv = base64_decode($iv64); //get the HMAC $hmac = $_REQUEST['hmac']; # initialise mcrypt. NB Rijndael-128 covers all variants of AES $td = mcrypt_module_open( MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_NOFB, '' ); # do encryption $input = base64_decode($dectypted_str); mcrypt_generic_init($td, $key, $iv); $plain = mdecrypt_generic($td, $input); mcrypt_generic_deinit($td); # shutdown mcrypt mcrypt_module_close($td); # create HMAC for message $hmacActual = hash_hmac('sha256', $plain, $iv); if($hmac == $hmacActual) { if ($callback && is_callable($callback)) { $callback('success', $plain); } } else { //解密失败,提示提醒用户 $callback('error', null); } //session 用完后清除 $_SESSION['password_secret'] = null; } if ($user = @$_POST['user'] && $password = @$_POST['password']) { dectypt_from_javascript_encrypt($_POST['password'], function ($status, $password) { print $password; }); } // 每次发生请求,生成一次key用来解密. $key = uniqid(); //发送到客户端cookie setcookie("password_secret", $key, 0); setcookie("password_salt", "tuding_salt"); //并且保存到session用来后续的解密 $_SESSION['password_secret'] = $key; $_SESSION['password_salt'] = 'tuding_salt'; ?> <!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"/> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> <script type='text/javascript' src="http://crypto-js.googlecode.com/files/2.5.3-crypto.js"></script> <script type='text/javascript' src="http://crypto-js.googlecode.com/files/2.5.3-sha256.js"></script> <script type='text/javascript' src="http://crypto-js.googlecode.com/files/2.3.0-hmac.js"></script> <script type='text/javascript' src="http://crypto-js.googlecode.com/files/2.3.0-pbkdf2.js"></script> <script type='text/javascript' src="http://crypto-js.googlecode.com/files/2.3.0-aes.js"></script> <script type='text/javascript' src="http://crypto-js.googlecode.com/files/2.5.3-blockmodes.js"></script> <script type="text/javascript"> function doEncrypt(message) { var secret = $.cookie('password_secret'); var salt = $.cookie('password_salt'); var bytes_iv = Crypto.util.randomBytes(16); var base64_iv = Crypto.util.bytesToBase64(bytes_iv); var hmac = Crypto.HMAC(Crypto.SHA256, message, bytes_iv); var key = Crypto.PBKDF2(secret, salt, 32, {hasher:Crypto.SHA256, iterations:1000, asBytes:true}); var cipher =Crypto.AES.encrypt(message, key, {iv:bytes_iv, mode:new Crypto.mode.OFB, asBytes:false}); return {iv: base64_iv, hmac: hmac, cipher: cipher}; } $(document).ready(function () { $('#submit').click(function () { var user = $('input[name="user"]').val(); var pwd = $('input[name="password"]').val(); try { var encrypt_pwd = doEncrypt(pwd); $('input[name="hmac"]').val(encrypt_pwd['hmac']); $('input[name="password"]').val(encrypt_pwd['cipher']); $('input[name="iv"]').val(encrypt_pwd['iv']); } catch (exception) { //TODO: } }); }); </script> </head> <body> <form action="/index_bk.php" name="login" method="post"> <div> <label for="user">User</label> <input type="text" value="" placeholder="Your login name" name="user"/> </div> <div> <label for="password">Password</label> <input type="password" placeholder="your password" name="password" /> <input type="hidden" name="hmac" value=""/> <input type="hidden" name="iv" value=""/> </div> <input type="submit" value="Login" id="submit"/> </form> </body> </html>

a123456678 2019-12-02 02:04:09 0 浏览量 回答数 0

问题

jquery问题求解答sssss

杨冬芳 2019-12-01 20:19:38 764 浏览量 回答数 1

问题

关于zTree插件删除节点的问题

a123456678 2019-12-01 20:21:28 1243 浏览量 回答数 1

问题

php jquery post 获得的中文数据都是%u 开头

a123456678 2019-12-01 20:20:16 1528 浏览量 回答数 1

问题

調用ASR的 录音文件识别 一 直遇 到 403

meluwu 2019-12-01 20:21:05 1127 浏览量 回答数 2

问题

jquery AJAX发送请求累积

a123456678 2019-12-01 20:18:15 803 浏览量 回答数 1

回答

(一)表单POST方式提交情况下 $_POST 与 php://input可以取到值,$HTTP_RAW_POST_DATA 为空$_POST 以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换。php://input 可通过输入流以文件读取方式取得未经处理的POST原始数据 php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input 不能用于 enctype="multipart/form-data"。`(二)fsockopen提交POST数据例: $sock = fsockopen("localhost", 80, $errno, $errstr, 30); if (!$sock) die("$errstr ($errno)/n"); $data = "txt=" . urlencode("中") . "&bar=" . urlencode("Value for Bar"); fwrite($sock, "POST /posttest/response.php HTTP/1.0/r/n"); fwrite($sock, "Host: localhost/r/n"); fwrite($sock, "Content-type: application/x-www-form-urlencoded/r/n"); fwrite($sock, "Content-length: " . strlen($data) . "/r/n"); fwrite($sock, "Accept: */*/r/n"); fwrite($sock, "/r/n"); fwrite($sock, "$data/r/n"); fwrite($sock, "/r/n"); $headers = ""; while ($str = trim(fgets($sock, 4096))) $headers .= "$str/n"; echo "/n"; $body = ""; while (!feof($sock)) $body .= fgets($sock, 4096); fclose($sock); echo $body; 与(一)结果一致 结论: 用php://input可以很便捷的取到原始POST数据 2. $HTTP_RAW_POST_DATA 仅在POST的Content-Type类型不为PHP识别时才有效 如通常通过页面表单提交后的POST数据,不能通过`$HTTP_RAW_POST_DATA`提取到。因其编码类型属性(enctype属性)为 `application/x-www-form-urlencoded、multipart/form-data`。 注:即使在页面内显性地改变enctype属性为PHP不可识别的类型,仍无效。因表单提交编码属性是表单限定,不可识别的类型将被认为按默认编码方式提交(即application/x-www-form-urlencoded) $_POST仅当数据按 application/x-www-form-urlencoded 类型提交时才能得到。

小旋风柴进 2019-12-02 02:00:44 0 浏览量 回答数 0

问题

ajax 从一个页面传递错误信息至另一个页面,怎么解决?

落地花开啦 2019-12-01 20:05:49 1082 浏览量 回答数 1

问题

onsubmit触发事件把表单数据发送到相关php处理问题

小旋风柴进 2019-12-01 20:23:33 1105 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站