2016-06-28 53 views
0

我想分開一些來自AJAX請求的值。
他們看起來像這樣:JavaScript使用對象內容

Object { name: "fsdfsd", details: "sdfsdf", password: "sdfsdgds" } 

而且我基本上都需要他們爲其可變分隔每個值。我怎樣才能做到這一點?
我周圍搜索,但無法找到一個很好的答案。我習慣於PHP語法,如$this->output,我剛剛在一個月內多次使用JS,所以我仍然試圖容納:)
謝謝!

+0

您是否在服務器端或客戶端獲取該字符串?所以_你想「提取」這些值嗎? – arkascha

+0

@arkascha我通過調用控制器的AJAX請求(在CodeIgniter中工作)在視圖中獲取它們。這是我需要的內容,但現在我必須填入一些輸入,每個輸入的值都是 –

+0

這並沒有回答我的問題,對不起。 – arkascha

回答

3

試試這個:

var res = { name: "fsdfsd", details: "sdfsdf", password: "sdfsdgds" }; 
var name = res.name; 
var details = res.details; 
var password = res.password; 

但我強烈建議你使用資源爲研究對象。您可以使用較少數量的變量並減少潛在問題。並且不要將密碼作爲普通文本發送!有人可以監聽您的流量並轉儲您的所有用戶密碼。

+0

我知道發送密碼的安全問題,但我正在一個小型的內部平臺上工作,員工存儲簡單的密碼,比如Windows,Skype等等,所以沒什麼可擔心的。感謝您的高擡頭! –

0
var objectName = { name: "fsdfsd", details: "sdfsdf", password: "sdfsdgds" } 
var name = objectName.name; 
var details = objectName.details; 
var password = objectName.password; 
+0

是的,你是對的。謝謝 – BorcheIvanov

0

你不需要將它們分開。 從它的外觀來看,ajax請求正在返回一個json對象。 將其存儲爲變量。 例如:

var returnObj = getServicerequest(input); // ajax request that you call is handled in this function. 

現在你可以訪問值對像:

alert(returnObj.name); 
alert(returnObj.datails); 

但是通過Ajax調用返回的用戶名和密碼是不是一個良好的安全習慣。

1

這裏是一個ES6版本,如果你想

它使用Destructuring assignment。它只會在最新的瀏覽器

var res = { name: "fsdfsd", details: "sdfsdf", password: "sdfsdgds" } 
 

 
var {name, details, password} = res 
 

 
console.log(name)

0

嘗試這方面的工作:

var res = { 
 
    name: "fsdfsd", 
 
    details: "sdfsdf", 
 
    password: "sdfsdgds" 
 
} 
 
var Obj = res.name + " " + res.details + " " + res.password 
 
console.log(Obj)

+0

OP想破壞對象來分離變量。所以這不是他正在尋找的答案 – Endless

0

你也可以使用聲明。它擴展了陳述的範圍鏈。

var res = { name: "fsdfsd", details: "sdfsdf", password: "sdfsdgds" } 
 

 
with(res){ 
 
    console.log(name) 
 
    console.log(details) 
 
    console.log(password) 
 
}

使用具有不推薦,和ECMAScript中5嚴格模式是被禁止的。建議的替代方法是將要訪問其屬性的對象分配給臨時變量。 Ref