Javascript 如何从AJAX responseText获得价值
我有一个AJAX函数正在运行,它返回一个响应,我需要从responseText获取值Javascript 如何从AJAX responseText获得价值,javascript,ajax,Javascript,Ajax,我有一个AJAX函数正在运行,它返回一个响应,我需要从responseText获取值 jQuery.ajax({ url: process_payment.ajaxurl, type: 'post', dataType: 'json', data: { action: 'process_payment',
jQuery.ajax({
url: process_payment.ajaxurl,
type: 'post',
dataType: 'json',
data: {
action: 'process_payment',
payment_method_id: result.paymentMethod.id
},
complete: function(json) {
var response = json.responseText;
console.log(response);
handleServerResponse(json);
}
})
这是变量响应的内容
{"requires_action":true,"payment_intent_client_secret":"0eo9ei48494404014044"}0
如何计算“requires\u action
”的值例如,我认为我可以执行响应。requires\u action
,但这将返回未定义的值
编辑
这也不起作用:
jQuery.post(process_payment.ajaxurl, {
action: 'process_payment',
payment_method_id: result.paymentMethod.id
}, 'json').done(handleServerResponse)
function handleServerResponse(response) {
console.log(response);
}
您需要使用
success
回调而不是complete
,因为complete
将xhr
对象作为回调中的参数,或者解析响应文本以将JSON字符串转换为object
在success
的情况下,默认情况下将对其进行解析,因为您将数据类型指定为json
,并在必要时保留错误回调以处理错误情况
jQuery.ajax({
url: process_payment.ajaxurl,
method: 'post',
// if you're using versions of jQuery prior to 1.9.0 - use `type: 'post'`,
dataType: 'json',
data: {
action: 'process_payment',
payment_method_id: result.paymentMethod.id
},
success: function(response) {
console.log(response);
handleServerResponse(response);
}
})
请参阅:重命名
完成至成功
并使用json.requires\u action
用作json.requires\u action
,第行var response=json.responseText不需要代码>我必须使用成功才能工作吗?不,你也可以使用.done()
或.then()
方法,例如$.post(process\u payment.ajaxurl,{action:'process\u payment',payment\u method\u id:result.paymentMethod.id},'json')。完成(handleServerResponse)
不妨更新到方法:“POST”
,使其稍微现代一些。不知道jQuery将维护多长时间类型
@Phil:是的,但在旧版本中没有方法
选项<代码>类型
现在保留了方法的别名
now@Phil:无论如何,刚刚更新:)也许他们将来会删除;)