我无法向 php 发送信息,它被阻止了。
Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
我使用了不同的方法,只有三分之二的代码可以正常工作。
$(document).on('ready', function() {
$('#loginAjax').click(function() {
$.ajax({
type: 'POST',
url: 'prueba.php',
dataType: 'json',
data: { myusuario: "hola" },
success: function(response) {
$('#result').html(response);
},
error: function() {
$("#result").html("no vas a aprobar");}
});
});
$('#redRegistrar').click(function() {
location.href = 'registro.html';
});
});
<?php
header("Access-Control-Allow-Origin: *");
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$recibido = $_POST['myusuario'];
echo json_encode( $recibido );
}
?>
我希望它说hola
。
最佳答案
看起来您正在尝试从 file://
URI 访问 prueba.php
。
这可能是因为您直接在浏览器中打开了 HTML 文件,并且文件不支持跨源请求。
相反,您应该将带有 javascript 的 HTML 文件放在您的网络服务器中,然后访问该 URL。
例如,从你的错误猜测路径,你需要将你的HTML文件移动到C:/xampp/htdocs/app_bloqui/test.html
,然后访问127.0.0.1/app_bloqui/test.html
。这将意味着您将处于同一来源并且该请求将有效。
关于php - 跨源请求只支持协议(protocol)方案,怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57236932/