2014-07-23 67 views
0

任何想法爲什麼這不起作用?我試圖看看點擊的按鈕實際上是否與警報一起工作,有警報以及ajax代碼之前和之後,他們都工作。帖子變量未通過

var selectedCheckboxes = "12421"; 

jQuery(document).ready(function($){ 
       $(".editArticle").on("click",function(){ 
        $.ajax({ 
         url: "test.php", 
         type: "POST", 
         data: { selectedCheckboxes: "selectedCheckboxes" }, 
         success: function(response){ 
           //do action 
         }, 
         error: function(){ 
           // do action 
         } 
        }); 
       }); 
      }); 

鏈接:

<a href="test.php" class="editArticle">Edit</a> 

test.php的

<?php 
echo $_POST["selectedCheckboxes"]; 
?> 
+0

如果你在ajax中回顯「你好」..你甚至到達那裏? – Naruto

+0

檢查網址是否正確或沒有檢入開發者工具或螢火蟲 –

+0

我在ajax的成功中創建了一個提醒,它通過 – DaViDa

回答

2

試試這個:

<a href="javascript:void(0);" class="editArticle">Edit</a> 

如果你想在你的頁面中的PHP的輸出,你必須做這樣的事情在你的javascsript

$(".editArticle").on("click",function(){ 
       $.ajax({ 
        url: "test.php", 
        type: "POST", 
        data: { selectedCheckboxes: selectedCheckboxes }, 
        success: function(response){ 
          $("body").html(response); 
        }, 
        error: function(){ 
          // do action 
        } 
       }); 
      }); 

您可能需要更改「身體」標籤..或不 取決於什麼teste.php返回

那麼,如果你不希望輸出放在你的當前頁面html,也許不同的方法會更好。 也許有更好的答案,但你可以嘗試這樣的:

<form method="post" action="test.php" onsubmit="javascript:$('#selectedCheckboxes').val(selectedCheckboxes);"> 
    <input type="hidden" value="" name="selectedCheckboxes" id="selectedCheckboxes"> 
    <input type="submit" value="Edit"> 
</form> 

你會要的風格提交輸入 是否想法幫助?沒有阿賈克斯,但。

+0

事情是頁面也需要切換到其他文件。例如,我選擇了一個帶有複選框的文章,我點擊了編輯。必須發佈選中的複選框值,以便從要放入的數據庫中加載正確的文章,例如test.php。 – DaViDa

+0

編輯帖子,希望它有幫助或導致正確的答案.. –

+0

對不起,如果我不是很清楚,我需要重定向到test.php在變量發佈的同時。我想繼續在test.php中使用post變量而不是當前文檔。 – DaViDa

-1

你試圖傳遞一個變量selectedCheckboxes但不幸的是雙( 「」)引用你傳遞一個字符串作爲selectedCheckboxes

使用下面的代碼

var selectedCheckboxes = "12421"; 

var dataObject = {}; 
data[selectedCheckboxes] = 1; 
    jQuery(document).ready(function($){ 
       $(".editArticle").on("click",function(){ 
        $.ajax({ 
         url: "test.php", 
         type: "POST", 
         data: dataObject , 
         success: function(response){ 
           //do action 
         }, 
         error: function(){ 
           // do action 
         } 
        }); 
       }); 
      }); 

希望這有助於...

-1

將返回FALSE;阿賈斯呼叫後

+0

爲什麼返回false? –

+1

您可以發表評論。 –

+0

給你的答案增加一些解釋會使其對其他人更有用,並使其更有可能被提升爲有用的。 – Palpatim

0

你沒有看到AJAX reqeust通過的原因是因爲當你點擊錨標籤時,瀏覽器正在執行導航到'test.php'的默認操作,這取消了AJAX呼叫。由於您只是簡單地獲取該頁面,而不是POST'ing,因此$_POST中沒有任何內容。爲了防止這種默認操作,或者使用一個span代替a標籤(推薦),或者阻止默認動作,做這樣的事情:

<a href="#" class="editArticle">Edit</a> 
0

如果我明白你的意思,你希望將selectedCheckboxes作爲JSON傳遞給服務器。在這種情況下,您需要將您的selectedCheckboxes變量實際傳遞給服務器。 像這樣:

$.ajax({ 
    url: "test.php", 
    type: "POST", 
    data: selectedCheckboxes, 
    success: function(response){ 
     //do action 
    }, 
    error: function(){ 
     // do action 
    } 
}); 

與您的代碼的問題是,你通過含有以「selectedCheckboxes」的字符串一個新的JSONObject。你沒有傳遞實際的變量。