gpt4 book ai didi

php - 错误: No 'Access-Control-Allow-Origin' header is present on the requested resource

转载 作者:行者123 更新时间:2023-12-01 23:19:35 25 4
gpt4 key购买 nike

我有两个系统 helpdesk.ops.something.indev1.ops.something.in

我在helpdesk.ops中有一个文件fetchP.php,其代码如下:

<?php
header('Access-Control-Allow-Origin: *');
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
function someFunc(item) {
$.ajax({method:"GET",
url:"http://dev1.ops.something.in/wallet/createurl.php?phone="+item,
success:function(response){
console.log(response);
}
});
};
</script>';
<?php
echo '<div id="callToWallet" class="sample-button" onclick="someFunc(911234567890);"><a href="#"> Click here</a></div>';

它正在对 dev1.ops 中存在的文件 createurl.php 执行 GET 请求,如下所示:

<?php
header('Access-Control-Allow-Origin: *');?>
<script>response.addHeader("Access-Control-Allow-Origin", "*");</script>
<?php
// the rest of the code
?>

但是在执行时,GET 请求不成功,并且出现错误:

XMLHttpRequest 无法加载 http://dev1.ops.something.in/wallet/createurl.php?phone=911234567890。请求的资源上不存在“Access-Control-Allow-Origin” header 。因此,不允许访问来源“http://helpdesk.ops.something.in”。响应的 HTTP 状态代码为 500。

我错过了什么?

最佳答案

即使设置了 Access-Control-Allow-Origin header ,XMLHttpRequest 也无法请求与当前域不同的域上的资源(这是由于 same-origin policy 造成的)。

您可以尝试解决此问题的一种方法是使用 JSONP 。这是一个简单且基本的示例:

fetchP.php(Ajax 调用):

function someFunc(item) {
$.ajax({
method: "GET",
data: { phone: item },
url: "http://localhost:2512/createurl.php",
success: function(response){
console.log(response);
},
dataType: "jsonp",
});
};

createurl.php:

<?php
header('Access-Control-Allow-Origin: *');

$data = ["foo" => "bar", "bar" => "baz"];
$json = json_encode($data);

$functionName = $_GET['callback'];

echo "$functionName($json);";
?>

ajax 请求上 createurl.php 的输出示例:

jQuery2130388456100365147_1447744407137({"foo":"bar","bar":"baz"});

然后,jQuery 执行定义的函数,并根据给定参数(本例中为 JSON)调用定义的 success 方法。

关于php - 错误: No 'Access-Control-Allow-Origin' header is present on the requested resource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33750748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com