【发布时间】:2014-06-11 13:28:11
【问题描述】:
正如标题所示,我正在尝试从 PHP 中访问嵌套的 javascript 对象属性。
我的对象是这样声明的。
var requestParams = {
apiKey: appData.apiKey,
action: "addJob",
name : name,
note: note,
dropoff: dropoffAddress,
noOfCars: noOfCars,
carType: carType,
pickUpDate: pickUpDate,
pickUpTime: pickUpTime,
pickUpDateTime: {}
};
pickUpDateTime(requestParams 对象的最后一个属性) 属性有一个嵌套对象,我使用 for 循环动态添加键值对。
for(var x = 0; x < dateArray.length; x++){
var dbMoment = moment(dateArray[x] + " " + pickUpTime,appData.displayDateFormat);
requestParams.pickUpDateTime[x] = dbMoment.format(appData.dbDateFormat);
}
当我记录对象时,这就是我在控制台中看到的。到目前为止一切顺利。
{"apiKey":"ba6f4fc3-0f52-11e3-a51d-fefdb24fa1e7","action":"addJob","name":"Dave Manning","note":"","dropoff":"51st street","noOfCars":"1","carType":"saloon","pickUpDate":"11/06/14,13/06/14,15/06/14","pickUpTime":"14:10",******"**pickUpDateTime":{"0":"2014-06-11 14:10:00","1":"2014-06-13 14:10:00"**,**"2":"2014-06-15 14:10:00"}****,"phone":"452345657654745","pickupAddress":"popes quay","pickupLat":51.9013,"pickupLng":-8.47616,"noOfDates":3}
但是,在我将它发送到我的 PHP 脚本后,我似乎无法访问 pickUpDateTime 对象。目前我正在尝试使用下面的代码访问它。它不会工作。此外,当我包含这行代码时,该函数不会返回任何内容,因此我可以检查 $pickUpDateTime 的内容。
$pickUpDateTime = json_decode($this->getRequestValue("pickUpDateTime", true));
我可以访问所有其他属性。因此,例如,这可以正常工作。
$noOfDates = $this->getRequestValue("noOfDates", true);
我知道这可能是一个相对简单的解决方法,但我似乎无法让它发挥作用。
非常感谢任何帮助。
这是我执行 var_dump($_REQUEST) 时得到的结果
responseText: " ↵Array↵(↵ [apiKey] => ba6f4fc3-0f52-11e3-a51d-fefdb24fa1e7↵ [action] => addJob↵ [name] => dave↵ [note] => ↵ [dropoff] => blarney street↵ [noOfCars] => 1↵ [carType] => saloon↵ [pickUpDate] => 11/06/14,13/06/14,15/06/14↵ [pickUpTime] => 15:43↵ [pickUpDateTime] => Array↵ (↵ [0] => 2014-06-11 15:43:00↵ [1] => 2014-06-13 15:43:00↵ [2] => 2014-06-15 15:43:00↵ )↵↵ [phone] => 5643563456435↵ [pickupAddress] => popes↵ [pickupLat] => 51.89397↵ [pickupLng] => -8.47685↵ [noOfDates] => 3↵ [_] => 1402497974065↵)↵[]"
【问题讨论】:
-
var_dump($this->getRequestValue("pickUpDateTime", true));你得到了什么? -
getRequestValue 方法有什么作用?它可能需要在那里进行更改。
-
它和 $variable = $_POST["variable"] 做同样的事情
-
如果您已经解码了整个字符串,pickupDateTime 将已经被解码。无需再次解码 - 只需获取值并使用它们。
-
我已经取出了json解码,还是不行。
标签: javascript php object nested