2011-11-10 53 views
2

我有主頁面有一些表單元素,點擊提交後。它應該用$ _POST參數重定向「search.php」頁面;下面點擊提交後父級重定向

<form name="form1" id="form1" action="search.php" method="POST"/> 
     <input type="radio" id="domestic" name="select" value="domestic"/> 
     <input type="submit" id="search" value="Search"/> 
    </form> 

    $(document).ready(function(){ 
     $("#search").click(function(e){ 
     e.preventDefault(); 

        var obj = $('#form1').serialize(); 
       $.ajax({ 
       type:"POST", 
       url:"search.php", 
       data:obj,   
       success:function(data){ 
        alert(obj); 
        // parent.tb_remove(); 
        window.location.href ="search.php"; 
          } //success 
       }); 

     }); 
    }); 

search.php中給出

我的代碼

echo $_REQUEST['obj']; 

AJAX提交後,它redirecr到search.php中頁,但它並沒有我傳了崗位價值從客戶端?如何將參數從客戶端傳遞到服務器端,而不通過參數?

這是一個彈出我使用燈箱plugin.Main網頁頁面中出現彈出窗口並點擊搜索後,我需要關閉燈箱和重定向與新鏈接父鏈接

+1

我可以問你爲什麼要做一個AJAX調用和重定向,而不是讓瀏覽器正常的事情,這是去在形式的'action'屬性的URL? –

+0

我嘗試調用上方的彈出窗口 – venkat

+0

關於哪個頁面和哪些內容? –

回答

0

你不能讓一個POST請求,並去那裏。如果你真的不想,你應該使用GET請求,並避免Ajax部分。

此外,我不明白你想做什麼,因爲你真的「提交」的形式。只需提交它!

0

我有猜測,但有時我好它;-)

1)

var obj = $('#form1').serialize(); 

如果你有像,「名字」的名字輸入元素,「姓氏」這個功能轉換成這樣一個字符串這樣的:

"firstname=VALUEOFINPUTHERE&lastname=VALUEOFINPUTHERE" 

2)

function(data){ 
    alert(obj); 
    // parent.tb_remove(); 
    window.location.href ="search.php"; 
} 

該警報不能工作。 obj沒有在該函數內部定義。使用警報(數據);

3)echo $_REQUEST['obj'];

沒有傳遞到您的網頁沒有參數沒有OBJ,obj是JavaScript變量的只是名字,真正的數據(如上面說的)firstname=VALUEOFINPUTHERE&lastname=VALUEOFINPUTHERE

所以,你應該可嘗試print_r($_REQUEST);echo $_REQUEST['firstname'];

問候

PS:請讓我知道如果我猜得不錯;)