ホームページ  >  記事  >  バックエンド開発  >  js が PHP にポストリクエストを送信できませんでした。解決してください。

js が PHP にポストリクエストを送信できませんでした。解決してください。

WBOY
WBOYオリジナル
2016-06-23 13:46:412305ブラウズ

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 行目の [モバイル認証コードの取得] ボタンをクリックすると、get_mobile_code 関数がトリガーされます。 57、111 行目 222 と 222 の両方がポップアップ表示されますが、.post には応答がありません。

どのようなエラーを報告していますか? 現在入手している情報では問題が発生する可能性が多すぎます

session_start() があるかどうかを確認してください。また、中括弧で値を渡す場合、キーの値は次のとおりである必要があります。引用符で囲まれています

ページを右クリックしてソースを表示します コードをチェックして、変数が正しく解析されているかどうかを確認します

session_start() があるかどうかを確認します また、中括弧内に値を渡す場合、キーの値実際に引用する必要があります


------------- ----------------------------- --------------------- ---------------------------- ------------------
session_start( ) があります。引用符を追加しても効果はありません: {"mobile":jQuery.trim($('#mobile').val()),"send_code":829471eed1a329a032234dd945cff831}

send_code:'829471eed1a329a032234dd945cff831'}

jQuery が正しくロードされていることを確認します

1. firebug にはどのようなエラー メッセージが表示されますか?
2.firebug network 投稿後に返されたコンテンツを見てください。


session_start() があるかどうかを確認します。また、中括弧で値を渡すときは、キーの値を実際には引用符で囲む必要があります


---------- -------- -------------------------------------- -------- --------------------------------------
session_start ()が存在します。引用符を追加しても効果はありません: {"mobile":jQuery.trim($('#mobile').val()),"send_code":829471eed1a329a032234dd945cff831}
右クリックしてソースコードを表示したときに、PHP スクリプトは正しく解析されましたか?これは重要です

send_code:'829471eed1a329a032234dd945cff831'}

jQuery が正しくロードされていることを確認してください


------------- -------------------------------------------------- -- -----
こんにちは、別の質問があります。たとえば、a.php で $_SESSION['send_code']='123456' を使用すると、$_SESSION['send_code を b で直接使用できます。 php ']?それともpostのようにa.phpでb.phpを指定する必要があるのでしょうか?

はい、直接使用できます
ただし、前提条件があります: session_start(); ステートメントが必要です

はい、直接使用できます
ただし、前提条件があります: session_start(); ステートメントが必要です。ステートメント


--- -------------------------------------- ------ --------------------
$_SESSION['send_code'] の値は常に存在しますか?

いいえ、ブラウザを閉じるか、ウェブサイトに関連するタブを閉じたら、それ以上はありません

行き止まりに陥ってしまいました~~~

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。