2013-10-01 77 views
0

我正在爲我在學校的項目做一些添加,編輯和刪除操作。添加模塊中的代碼進行得很順利,實際上我添加了幾條記錄。然後,Edit模塊出現了,起初它非常好,使用了添加模塊的類似代碼。但是,當我嘗試嘗試時,編輯模塊中的帖子是空的。

這裏是我的編輯代碼:

$(".careersEdit").click(function() { 
    var careersTableSelect = encodeURIComponent($("input:radio[name=careersTableSelect]:checked").val()); 
    if (careersTableSelect > 0) { 
     $(".careersEditForm_load").show(); 
     $(".careersEditForm_error").hide(); 
     $(".careersEditForm").hide(); 
     var dataStringCareersEdit = 'careersTableSelect=' + careersTableSelect; 
     $.ajax({ 
      type: "POST", 
      url: "admin/careers/process/careersEditGet.php", 
      data: dataStringCareersEdit, 
      beforeSend: function(){ 
       alert(dataStringCareersEdit); 
      }, 
      success: function() { 
       setTimeout("", 5000); 
       fetchResult(); 
      }, 
      error: function() { 
       alert("Post Error"); 
      } 
     }); 
     function fetchResult() { 
      $.ajax({ 
       url: "admin/careers/process/careersEditGet.php", 
       type: "POST", 
       dataType: "json", 
       success: function (result) { 
        if (result) { 
         $("input#careersEditPosition").val(result['position']); 
         $("input#careersEditCompany").val(result['company']); 
         $("input#careersEditLocation").val(result['location']); 
         $(".careersEditForm_load").hide(); 
         $(".careersEditForm").show(); 
        } 
       }, 
       error: function() { 
        alert("Fetch Error"); 
       } 
      }); 
     } 
    } else { 
     $(".careersEditForm").hide(); 
     $(".careersEditForm_load").hide(); 
     $(".careersEditForm_error").show(); 

    } 
}); 

這裏的careersEditGet.php:

<?php 
include('connect.php'); 
error_reporting(0); 
$careersTableSelect = $_POST['careersTableSelect']; 
//$careersTableSelect = $careersTableSelect + 1; 
//echo $careersTableSelect; 
$query = "SELECT * FROM atsdatabase.admincareers WHERE refNum ='" . $careersTableSelect . "' LIMIT 0 , 30"; 
$runQuery = mysql_query($query); 
if (!$runQuery) { 
    die('Could not enter data: ' . mysql_error()); 
} 
$result = mysql_fetch_row($runQuery); 
$array = array(
    'position' => "" . $result[1] . "", 
    'company' => "" . $result[2] . "", 
    'location' => "" . $result[3] . "", 
); 
echo json_encode($array); 
mysql_close($connection); 

>

是,代碼是醜陋/錯/廢話,我很?新的jquery的東西,大約3-4天。對於那些會幫助的人,請糾正我。我想學習這個jQuery ajax的東西。格拉西亞斯

+3

'beforeSend:alert(dataStringCareersEdit),'需要'beforeSend:function(){alert(dataStringCareersEdit)},' – haim770

+0

更改了代碼,謝謝。 ;) –

+0

您是否看到數據提示?像預期的那樣是'dataStringCareersEdit'? – haim770

回答

0

謝謝你們,我要諮詢一位網絡開發人員的朋友,教會了我如何在jQuery中正確使用ajax。 ;)

+2

那麼,爲什麼你不寫在這裏的答案? –

0

打電話給你ajax函數一次像,

$.ajax({ 
    url: "admin/careers/process/careersEditGet.php", 
    type: "POST", 
    dataType: "json", 
    data: {careersTableSelect: careersTableSelect}, 
    success: function (result) { 
     if (result) { 
      $("input#careersEditPosition").val(result.position);// json not array 
      $("input#careersEditCompany").val(result.company);// json not array 
      $("input#careersEditLocation").val(result.location);// json not array 
      $(".careersEditForm_load").hide(); 
      $(".careersEditForm").show(); 
     } 
    }, 
    error: function() { 
     alert("Fetch Error"); 
    } 
}); 
+0

)哦,我只能在函數中使用ajax函數,這部分是爲了:獲取單選按鈕的值,將值發佈到php文件中,從php文件中獲取結果,將結果放在相應的文本框進行編輯 –

+0

你可以但不需要在另一個'ajax函數'中調用'ajax' –

+0

我只需要獲得第一個ajax成功後的結果數據,那就是我的第二個目標阿賈克斯,但仍然,謝謝隊友。 –

-1

你正在做的事情根本錯誤當u從jQuery.Ajax發佈數據.. 的數據應該是一個對象,關鍵應該是名服務器側POST變量,其稍後將在用於PHP ... 例:

data : {"server_side_vriable" : "Your_data_to_Post" } 

......

var dataStringCareersEdit = 'careersTableSelect=' + careersTableSelect + "&careersTableSelect=" + careersTableSelect; 
      $.ajax({ 
       type: "POST", 
       url: "admin/careers/process/careersEditGet.php", 
       data: {"careersTableSelect" : dataStringCareersEdit}, 
       beforeSend: alert(dataStringCareersEdit), 
       success: function() { 
        alert("Fetching Result"); 
        setTimeout("", 3000); 
        $.ajax({ 
         url: "admin/careers/process/careersEditGet.php", 
         type: "GET", 
         dataType: "json", 
         success: function (result) { 
          if (result) { 
           $("input#careersEditPosition").val(result['position']); 
           $("input#careersEditCompany").val(result['company']); 
           $("input#careersEditLocation").val(result['location']); 
           $(".careersEditForm_load").hide(); 
           $(".careersEditForm").show(); 
          } 
         }, 
         error: function() { 
          alert("Fetch Error"); 
         } 
        }); 
       }, 
       error: function() { 
        alert("Post Error"); 
       } 
      }); 
+1

你錯了。你可以像他一樣傳遞數據 - http://api.jquery.com/jQuery.ajax/#example-2。問題可能出現在服務器端,因爲我個人不知道如何在PHP中沒有名稱。 – Arnthor

+0

你可以通過file_get_contents('php:// input')得到它沒有名字 –

1

也許嘗試更常見的方式傳遞數據:

改變了所有的努力來回答這個問題

data: dataStringCareersEdit, 

data: { "careersTableSelect" : careersTableSelect }, 
+0

這樣做,仍然沒有改變。感謝隊友花時間幫助 –