首页 > 解决方案 > 如何修复“Access-Control-Allow-Origin”标头的值不等于 Webview Android 上提供的原点?

问题描述

所以我的 Android 应用程序上有一个 Webview。在 HTML 页面中,每当用户单击/触摸按钮时,我有一个 ajax 调用,它从域中我自己托管的 php 中获取一个值。

WebView/HTML 文件中的 Ajax 调用:

$.ajax({
type: "POST",
url: "https://xxx.xxx.xxx.xxx/test/test.php", //url of php file
crossDomain: true,
}).done(function (data) {
    alert(data);
});

在我的 php 文件中,我有以下代码:

<?php
header('Access-Control-Allow-Origin: file:///android_asset/www/index.html');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');

echo "Hello World";

?>

在这里,我遇到了一个 CORS 问题,它告诉我我的“Access-Control-Allow-Origin”标头的值“file:///android_asset/www/index.html”不等于提供的来源。价值应该是多少?另外,如果我有多个设备使用同一个 php 文件,我如何使它成为动态的?

提前致谢!

标签: phpajaxwebviewcors

解决方案


试试这个代码:

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

 echo "Hello World";
?>

推荐阅读