[英]PHP Script with cURL works on one server…does not work on other server
[英]javascript post to .php file one server does not work - manual entry of URL in browser to same .php works
我有一些問題,了解如何轉移javascript(客戶端)變量,所以他們可以從PHP(服務器端)訪問作為會話: 在PHP中獲取iframe的“src”值?
現在我處於一種情況,我使用firebug嘗試調試正在進行的,但它只是沒有意義:
我有這個功能來更新iframe,我想傳遞iframe正在顯示的頁面:
function frameclick(pageurl)
{
$.post("session_write.php?",
{
frameurl : pageurl
}
$("#iFrame1").attr('src', pageurl);
console.log ('<?php echo "logout:".$langpath.$_SESSION['frameurl'];?>');
}
pageurl是ex。 “/lang/en/new.htm” - 如果我用firebug檢查它,我也可以看到它說它正確傳遞它(也轉換為/)。
我發布的腳本服務器端是這樣的:
#session_write.php
<?php
session_start();
print_r($_GET['frameurl']);
if (isset($_GET['frameurl']))
{
$_SESSION['frameurl'] = $_GET['frameurl'];
print_r($_SESSION);
}
?>
發布到服務器上的PHP腳本將通過javascropt失敗 - $ _SESSION ['frameurl']將是'',但如果我是ex。 像這樣手動執行:(http):
//localhost/phpmenu/session_write.php?frameurl=lang%2Fen%2Fnew.htm
然后它將在$ _SESSION [“frameurl”]變量中正確設置。
我簡直無法理解在javascript帖子和在瀏覽器中手動執行它之間有什么不同以及為什么它會導致我這個問題?
有想法的人嗎? 謝謝
您正在使用.post
執行POST請求,但是當您在地址欄中鍵入URL時,這是一個GET請求。
$_GET
檢索通過GET傳遞的任何參數,而$_POST
檢索通過POST傳遞的任何參數。 因此,如果您使用.post
與Javascript但嘗試使用PHP中的$_GET
進行檢索,則無效。
將變量POST到PHP文件時,未設置$_GET
。 請改用$_POST['frameurl']
。 此外,看起來你在frameclick中錯過了一個關閉frameclick
來結束post
調用。
您正在通過POST
請求傳遞數據並檢索所有GET請求。 請改用$_POST
。 您可能也對$_REQUEST
感興趣
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.