我的WordPress应用程序托管在网址http://127.0.0.1/wordpress/上,我在WordPress标头中添加了以下脚本以获取一些令牌,但它没有提供任何令牌
我复制了该url(http://127.0.0.1:8090/sample/sample/getToken)并在新标签页中打开它成功返回令牌但是当我使用$ .ajax调用它时它不会返回我的令牌
<script>
$().ready(function(){
$("#signIn").click(function(){
alert("Display Alert Properly");
$.ajax({
type: "POST",
url: "http://127.0.0.1:8090/sample/sample/getToken",
contentType: "text/html",
success: function(token) {
window.open("https://api.linkedin.com/uas/oauth/authorize?oauth_token=" + token, "_self", ""); });
});
});
答案 0 :(得分:1)
答案 1 :(得分:1)
试试这个,看看你得到了什么错误,它会帮助你看到实际问题
$().ready(function(){
$("#signIn").click(function(){
alert("Display Alert Properly");
$.ajax({
type: "POST",
url: "http://127.0.0.1:8090/sample/sample/getToken",
contentType: "text/html",
success: function(token) {
window.open("https://api.linkedin.com/uas/oauth/authorize?oauth_token=" + token, "_self", "");
},
error:function (xhr, ajaxOptions, thrownError){
alert(xhr.statusText);
alert(thrownError);
}
});
});
});
答案 2 :(得分:1)
由于现代浏览器中实现了Same Origin Policy,您无法通过Javascript直接访问外部资源。但是,有几种解决方案。
如果远程站点提供JSONP,您可以使用它来加载外部资源,但如果没有,则无法直接访问这些资源。
如果远程端点不提供JSONP,您需要在自己的服务器上使用代理脚本,该脚本接受AJAX请求,向外部端点发出请求,并将响应中继到您的Javascript应用程序。一定要确保这样的脚本安全,只接受对祝福端点的请求,否则你将有一个讨厌的安全漏洞来应对。
答案 3 :(得分:-1)
可能会有所帮助。
你需要通过添加&amp; callback =?来触发$ .getJSON()的JSONP行为?在查询字符串上,像这样:
$.getJSON("http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&titles="+title+"&format=json&callback=?",
function(data) {
doSomethingWith(data);
});