javascript - Javascript POST 到 PHP 在本地工作,在外部失败
问题描述
这是我拥有的非常简单的代码,它适用于我的网站(如果指向 php 的链接只是“/phpcode.php”,但如果我将 javascript 请求放在另一个网站上并调用完整链接,则无法检索数据。我正在使用godaddy. 我是初学者,完全不知道在哪里寻找解决方案或排除故障。
这是 PHP 端(phpcode.php 的完整代码):
<?php
$val = 'apple';
echo json_encode($val);
?>
这是javascript请求:
$.post(
"http://website.com/phpcode.php",function(data){
alert(data);
},
"json");
这是javascript页面的完整代码
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.post(
"http://website.com/phpcode.php",function(data){
alert(data);
},
"json");
});
});
</script>
</head>
<body>
<button>TEST POST</button>
</body>
</html>
谢谢你的帮助。
解决方案
这可能是导致错误的原因。添加行
header("Access-Control-Allow-Origin: *");
在<?php
in之后phpcode.php
,这将使您的代码:
<?php
header("Access-Control-Allow-Origin: *");
$val = 'apple';
echo json_encode($val);
?>
将来,如果您包含任何可以看到的错误消息/警告,您将更有可能从您的问题中获得更好的答案。您经常可以在 javascript 控制台中看到这些内容。[ctrl] + [shift] + [i]
在 chrome 中,然后转到console
选项卡。
推荐阅读
- php - 循环有什么问题 - 超过 30 秒的最大执行时间?
- python - pandas:每隔一行取一次差异
- flutter - BoxDecoration 中的 FadeInImage
- nativescript - 如何创建此注册表单 - NativeScript GridView
- haskell - 一个事件同时发生多次
- delphi - 如何在 vsf 文件中包含 SpeedButton 字形(VCL 样式)
- xslt - 如何在 xsl 变量中编写两个选择语句?
- prestashop-1.7 - PrestaShop - 如何将变量添加到电子邮件模板
- tensorflow - LSTM/GRU 和重叠滑动窗口的使用
- node.js - 创建猫鼬模型的库不适用于导入