2016-06-28 137 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