我有返回json响应的javascript代码。但是,尝试访问其属性只会返回未定义。
paypal.Buttons({
// Set up the transaction
createOrder: function (data, actions) {
return actions.order.create({
purchase_units: [{
amount: {
value: @ViewBag.total
},
}]
});
},
// Finalize the transaction
onApprove: function (data, actions) {
console.log(actions.order.get());
console.log(actions.order.get().error);
if (actions.order.get().rejected) {
alert("Sorry, Paypal is having issues processing the transaction. Please try again.");
} else {
return actions.order.capture().then(function (details) {
$.ajax({
type: "POST",
url: "/cart/SendEmail?receiver=" + actions.order.get().value.payer.email_address,
success: function (e) {
console.log(e);
},
failure: function (e) {
console.log(e);
},
error: function (e) {
console.log(e);
}
});
});
}
}
记下两个console.log打印语句。 第一个(console.log(actions.order.get())返回一个json对象。
这是console.log上打印的json输出的一部分:
dispatching: false
error: Error: Api: /smart/api/order/2UH2289979109631H returned status code: 500 at https://www.sandbox.paypal.com/smart/buttons ... (rest is cut out)
errorHandled: false
handlers: []
rejected: true
resolved: false
stack: undefined
value: undefined
__proto__: Object
这是第二个console.log(actions.order.get()。error)返回'undefined'。
不仅仅是属性“错误”。 json的所有这些属性都返回undefined。
我是JSON响应的新手,我不确定是否可以正确访问这些属性。