2016-12-21 14 views
0

我有一個ajax函數可以從數據庫中獲取一些圖形數據。 它工作正常,但我想使它通用。Ajax:如何在數據字段中使用變量

function getGraphData() { 
    $.ajax({ 
     url: "/wordpress/wp-admin/admin-ajax.php", 
     method: "POST", 
     data: { action: "databaseName" }, 
     success: function (response) { 
      //Some code; 
     } 
    }) 
} 

因此,爲了使函數泛型,我需要將數據庫名稱傳遞給函數,而不是硬代碼,但我似乎無法讓它工作。

我改變了代碼如下:

函數調用:

var dbname = "action: " + "mydatabase"; 
getGraphData(dbname); 

更改的功能:

function getGraphData(database) { 
    $.ajax({ 
     url: "/wordpress/wp-admin/admin-ajax.php", 
     method: "POST", 
     data: database, 
     success: function (response) { 
      //Some code; 
     } 
    }) 
} 

我在哪裏去錯了?

關注 Flemming。

回答

4

"action: " + "mydatabase"不會創建一個對象,它會創建一個字符串。 ,它的輸出將是:

"action: mydatabase" 

你想要的是以下幾點:

{ "action" : "mydatabase" } 

你需要做的是這樣的:

var dbname = { action :"mydatabase" } 

結合的功能成爲一個完整的例子,它會是這樣的:

var database_name = "database1"; 
var data = { action : database_name } 

getGraphData(data); 
// Your original function 
function getGraphData(database) { 
    $.ajax({ 
     url: "/wordpress/wp-admin/admin-ajax.php", 
     method: "POST", 
     data: database, 
     success: function (response) { 
      //Some code; 
     } 
    }) 
} 
+0

現貨。 謝謝。 –

1
function getGraphData(database) { 
    $.ajax({ 
     url: "/wordpress/wp-admin/admin-ajax.php", 
     method: "POST", 
     data: {action: database}, <-- change this line 
     success: function (response) { 
      //Some code; 
     } 
    }) 
} 
0

嘗試通過只值

getGraphData("mydatabase"); 

function getGraphData(database) { 
    $.ajax({ 
    url: "/wordpress/wp-admin/admin-ajax.php", 
    method: "POST", 
    data: { action: database }, 
    success: function (response) { 
     //Some code; 
    } 
    }) 
} 
0

您可以通過完整的對象:

db = { action: "myDatabase" }; 
getGraphData(db); 

function getGraphData(dbObject) { 
    $.ajax({ 
     url: "/wordpress/wp-admin/admin-ajax.php", 
     method: "POST", 
     data: dbObject, 
     success: function (response) { 
      //Some code; 
     } 
    }) 
} 

OR(如果對象始終是相同的)簡單地通過實際的數據庫名稱:

name = "myDatabase"; 
getGraphData(name); 

function getGraphData(dbName) { 
    $.ajax({ 
     url: "/wordpress/wp-admin/admin-ajax.php", 
     method: "POST", 
     data: { action: dbName }, 
     success: function (response) { 
      //Some code; 
     } 
    }) 
} 
相關問題