2013-07-28 44 views
0

所以我有我的原始ajax調用哪些工作正常。試圖將參數傳遞給jquery ajax調用

$.ajax({ 

      type: "GET", 
      url: "index.php/blog/getbio", 
      data: { first_name: first_name, last_name: last_name button_type:button_type }, 
      success: function (msg) { 
       $(button).text(msg); 
       button.slideDown("slow"); 
      } 

     }); 

我試圖創建一個函數,使我沒有這樣每次重新輸入所有我想修改是Ajax調用的數據和URL字段。雖然我不知道如何替換ajax調用之外的數據字段。我已經得到儘可能

var params = "first_name: first_name, last_name: last_name"; 
var url = "index.php/blog/getbio"; 
function ajax(url, params) { 
     $.ajax({ 

      type: "GET", 
      url: url, 
      data: { params }, 
      success: function (msg) { 
       $(button).text(msg); 
       button.slideDown("slow"); 
      } 

     }); 
     button.hide(); 
    } 

雖然我知道這是行不通的。所以我的問題是在ajax函數之外如何才能正確地創建變量參數以很好地插入到ajax函數中。

+0

嘗試使用全局變量 ,例如: window.url =「index.php/blog/getbio」; //全局變量 –

回答

1

您可以把它轉換成字符串更容易地設置JSON格式的數據:

var params = '{"first_name": "first_name", "last_name": "last_name"}'; 
var url = "index.php/blog/getbio"; 
$.ajax({ 
url: url, 
data: params, 
dataType:'json', 
success: function (msg) { 
      $(button).text(msg); 
      button.slideDown("slow"); 
     } 
}); 
+1

它會是數據:數據還是數據:params? –

+0

錯別字對不起。我編輯了感謝 –

+0

因爲下劃線,你有雙引號中的所有內容嗎? –

0
function CreateFullName(f_name, l_name) { 
    params = { 
     "first_name": f_name, 
     "last_name": l_name 
    }; 
    return params; 
} 

function ajax(url, first_name, last_name) { 
     $.ajax({ 
      type: "GET", 
      url: url, 
      data: CreateFullName(first_name, last_name), 
      success: function (msg) { 
       $(button).text(msg); 
       button.slideDown("slow"); 
      } 

     }); 
     button.hide(); 
    } 

這裏的功能不與任何硬編碼值約束,使用通常與網址和名稱值通過。

相關問題