我最初使用Jquery从一个$.get函数中获取url,但第二个函数的结果导致了一个跨源请求,因为我试图使用从api中获得的url来搜索url。
我想知道是否有一种方法可以将其发布到PHP,以及是否可以使用curl向get函数提交一个var url,以避免这个原始问题,然后将其拉回前端,以建设性的方式显示。
$(document).ready(function(){
$.get({
url: "http://www.dnd5eapi.co/api/races/",
dataType: "JSON",
success: function(result){
result.results.forEach(function(element) {
$("#racebox").append('<option value="'+element.url+'">'+element.name+ ' '+'</option>');
});
$('#racebox').on('change',function(){
var raceChoice = $('#racebox').val();
console.log(raceChoice);
$.get({
url: raceChoice,
dataType: "JSON",
success: function(result){
result.starting_proficiencies.forEach(function(element) {
$("#output").append(element.name);
});
}
});
});
}
});
});
</script>
</head>
<body>
<form>
<select id="racebox">
</select>
</form>
<div id="output"></div>这是给出交叉来源问题的代码,我希望尝试构建一个curl后端来处理这些信息。
发布于 2017-04-04 19:31:57
如果接口是您创建的,您可以添加header来消除跨域。
<?php
header("Access-Control-Allow-Origin: *");
?>您可以将*替换为托管将使用api的应用程序的域名
否则,您可以使用Guzzlle而不是curl来使用PHP,方法是编写调用API的方法,然后使用Jquery调用这些方法。
但是我假设curl也是调用API的一种方式。
https://stackoverflow.com/questions/43205703
复制相似问题