关于'成功',我需要向PayPal提交data
。我知道$.post('https://www.paypal.com/cgi-bin/webscr', data);
是错误的,因为我需要提交,就像表单操作一样,进入带有表单值的PayPal页面。所有数据都在返回的JSON数据中存储并正确格式化。我用alert(data.cmd)
检查了它。我只是不知道如何从这里模拟HTML POST动作。
function process(plan_id) {
var data = {'plan_id' : plan_id};
$.ajax({
type: "POST",
url: "process_paypal.php",
data: data,
dataType: "json",
success: function (data) {
alert(data.cmd);
$.post('https://www.paypal.com/cgi-bin/webscr', data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(arguments);
alert(jqXHR + '-' + textStatus + '-' + errorThrown);
return false;
}
});
}
</script>
答案 0 :(得分:1)
您可以通过以下方式将json对象转换为参数字符串,如key1 = value1&amp; key2 = value2 ..
var result = decodeURIComponent($.param(data));
然后你可以把这个结果传递给paypal
$.ajax({
type:'POST',
...
data: result,
...
});
答案 1 :(得分:1)
在将数据发送到PayPal之前,您需要使用$.serialize()序列化数据,如下所示:
var data = {'plan_id' : plan_id};
$.ajax({
...
data: $(data).serialize(),
...
});
通过序列化数据,您将其从对象转换为PayPal服务可以读取的编码字符串。
我希望这有帮助!