我正在与Blackbaud API合作,它说我需要将发布数据发送到URL以接收我想要的数据。
参考:https://www.blackbaud.com/files/support/helpfiles/fafapi/defapi/default.htm
我不太确定该怎么做,所以我使用了jQuery的帖子方法并获得了跨域错误:
否'访问控制 - 允许 - 原始'标题存在于请求的资源
上
这是我用来发送请求的代码:
$(document).ready(function() {
$.post("https://www.kintera.org/api/Authentication/Login.ashx?accountid=xxxxx",
{username: "xxxxxx", password:"xxxxxxx"},function(result) {
console.log(result);
});
})
这里有人可以带我朝正确的方向前进吗?当我在页面上执行简单的PHP帖子时,显示XML结果,我只是不知道如何获得该信息以供自己使用。建议?
我遇到的最大问题是跨域错误
编辑:弄清楚了。对于任何有同样问题的人来说,都是我的解决方案
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.kintera.org/api/Authentication/Login.ashx?accountid=xxxxxxx");
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('username' => $username,'password' => $password)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
$xml = new SimpleXMLElement($result);
curl_close($ch);
xhr(aka。Ajax)呼叫由于安全原因而不允许跨域。但是有一种格式JSONP来解决这个问题。它基本上将您的JSON数据列入方法名称,可以将其评估为回调并在您的应用程序中馈送数据。
使用jQuery时,您可能需要查看 this 才能使您开始。