> 백엔드 개발 > PHP 튜토리얼 > js向php发送post请求失败,求解

js向php发送post请求失败,求解

WBOY
풀어 주다: 2016-06-23 13:46:41
원래의
2328명이 탐색했습니다.

function alertWin(title, msg, w, h) {         var titleheight = "22px"; // 窗口标题高度         var bordercolor = "#666699"; //窗口的边框颜色         var titlecolor = "#FFFFFF"; // 窗口的标题颜色         var titlebgcolor = "#666699"; // 窗口的标题背景色         var bgcolor = "#FFFFFF"; // 内容背景色         var iWidth = document.documentElement.clientWidth; //这个窗口的宽度         var iHeight = document.documentElement.clientHeight; //这个窗口的高度         //创建一个弹出层         var msgObj = document.createElement("div");         //设置弹出的层的样式         msgObj.style.cssText = "position:absolute;font:11px '宋体';top:" + (iHeight - h) / 2 + "px;left:" + (iWidth - w) / 2 + "px;width:" + w + "px;height:" + h + "px;text-align:center;border:1px solid " + bordercolor + ";background-color:" + bgcolor + ";padding:1px;line-height:22px;z-index:1001;";         document.body.appendChild(msgObj);         //创建一个table用于容纳层上的内容         var table = document.createElement("table");         //将Table放到弹出层上         msgObj.appendChild(table);         //设置table的格式         table.style.cssText = "margin:0px;border:0px;padding:0px;";         table.cellSpacing = 0;         //插入一行用于显示标题         var tr = table.insertRow(-1);         //插入一个单元格用于容纳标题         var titleBar = tr.insertCell(-1);         titleBar.style.cssText = "width:100%;height:" + titleheight + "px;text-align:left;padding:3px;margin:0px;font:bold 13px '宋体';color:" + titlecolor + ";border:1px solid " + bordercolor + ";cursor:move;background-color:" + titlebgcolor;         titleBar.style.paddingLeft = "10px";         //设置标题         titleBar.innerHTML = title;         //关闭按钮事件         var closeBtn = tr.insertCell(-1);         closeBtn.style.cssText = "cursor:pointer; text-align:right;padding:2px;background-color:" + titlebgcolor;         closeBtn.innerHTML = "<span style='font-size:15pt;color:" + titlecolor + ";'>&times;</span>";         closeBtn.onclick = function() {             document.body.removeChild(msgObj);         }         //弹出的消息窗口内容         var msgBox = table.insertRow(-1).insertCell(-1);         msgBox.style.cssText = "font:10pt '宋体';";         msgBox.colSpan = 2;         msgBox.innerHTML = msg;         var nameBox1 = table.insertRow(-1);         var nameLable1 = nameBox1.insertCell(-1);         nameLable1.style.cssText = "font:10pt '宋体';text-align:center;";         nameLable1.innerHTML = "<tr><td align=\"right\">手机</td><td><input id=\"mobile\" name=\"mobile\" type=\"text\" size=\"15\" class=\"inputBg\" /><span style=\"color:#FF0000\"> *</span> <input id=\"zphone\" type=\"button\" value=\" 获取手机验证码 \" onClick=\"get_mobile_code();\"></td></tr>"; 				var nameBox2 = table.insertRow(-1);         var nameLable2 = nameBox2.insertCell(-1);         nameLable2.style.cssText = "font:10pt '宋体';text-align:center;";         nameLable2.innerHTML = "<tr><td align=\"right\">验证码</td><td><input type=\"text\" size=\"6\" name=\"mobile_code\" class=\"inputBg\" /></td></tr>";         		var nameBox3 = table.insertRow(-1);         var nameLable3 = nameBox3.insertCell(-1);         nameLable3.style.cssText = "font:10pt '宋体';text-align:center;";         nameLable3.innerHTML = "<tr><td align=\"right\"></td><td><input type=\"submit\" value=\" 注册 \" class=\"button\"></td></tr>"; 	}	function get_mobile_code(){		alert("111");		$.post('http://'+serverIp+'smsExecute.php', {mobile:jQuery.trim($('#mobile').val()),send_code:<?php echo $_SESSION['send_code'];?>}, function(msg) {            alert(jQuery.trim(unescape(msg)));        });        alert("222");	}
로그인 후 복사


回复讨论(解决方案)

55行之前的代码,效果如下:

然后点击44行的“获取手机验证码”按钮,能够触发57行的get_mobile_code函数,111跟222都能弹出,但是.post没有反应。

报什么错呢,就你现在这些信息出问题可能性太多了

看看有没有session_start()  再有就是大括号里面传值实际上键值要用引号的

页面右键查看源代码看看你那些变量有没有正确解析

看看有没有session_start()  再有就是大括号里面传值实际上键值要用引号的


-------------------------------------------------------------------------------------------------------------
session_start()是有的。加了引号也没效果:{"mobile":jQuery.trim($('#mobile').val()),"send_code":}

send_code:''}

确认 jQuery 加载无误

1.firebug有什么错误提示?
2.firebug network 看看post后返回的内容。


看看有没有session_start()  再有就是大括号里面传值实际上键值要用引号的


-------------------------------------------------------------------------------------------------------------
session_start()是有的。加了引号也没效果:{"mobile":jQuery.trim($('#mobile').val()),"send_code":}
你在右键查看源码的时候那个php脚本正确解析了吗?这个很关键

send_code:''}

确认 jQuery 加载无误


----------------------------------------------------------------------
您好,顺便再请教个问题,比如我在a.php中使用了$_SESSION['send_code']=‘123456’,那么在b.php中可以直接使用$_SESSION['send_code']吗?还是需要像post一样在a.php中指定b.php?

是的,可以直接使用
但有个前提:一定要有 session_start(); 语句

是的,可以直接使用
但有个前提:一定要有 session_start(); 语句


-------------------------------------------------------------------------
那$_SESSION['send_code']这个值会一直存在吗?

不会,关闭浏览器或关闭了与该网站相关的标签页后,就没有了

发现自己走进了死胡同~~~

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿