我正在使用 Sandbox 进行支付测试。一切正常,直到付款并且控制台抛出错误:
<块引用>未捕获(承诺)SyntaxError: Unexpected token < in JSON at position 0
错误指向:
fetch(url, {
。我不确定 Django 应用程序有什么问题。我什至在顶部初始化了 URL:
var url = "{% url 'payments' %}"
onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
console.log(details);
sendData();
function sendData(){
fetch(url, {
method : "POST",
headers: {
"Content-type": "application/json",
"X-CSRFToken": csrftoken,
},
body: JSON.stringify({
orderID: orderID,
transID: details.id,
payment_method: payment_method,
status: details.status,
}),
})
.then((response) => response.json())
.then((data) => {
window.location.href = redirect_url + '?order_number='+data.order_number+'&payment_id='+data.transID;
})
}
});
}
答案 0 :(得分:0)
要么存在内部服务器错误,要么服务器未发送 Json 响应。可以通过.then((response)=>console.log(response.status)
查看状态是否存在内部服务器错误,如果console.log显示500错误代码,则为服务器错误。否则服务器没有发送正确的 json 响应。