【发布时间】:2016-05-27 08:32:46
【问题描述】:
我正在编写一个工具,您可以在其中将我的 JavaScript 文件链接到您的网站,并且此 JavaScript 文件将 ajax 发布到我服务器上的 PHP 文件。
疯狂的是,当我将 JavaScript 文件链接到我的网络服务器上的页面时,它可以工作,但是当我将 JavaScript 文件链接到另一个网站(有另一个服务器)上时,它就不起作用了......这里代码:
phpwrite2.php:(应该在我的服务器上创建文件的文件)
<?php
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST');
header('Access-Control-Allow-Headers: '.$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']);
exit();
}
header('Access-Control-Allow-Origin: *');
$myFile = $_POST['filename'];
$myFile = "users/".$myFile;
chmod("users/",0777);
$fh = fopen($myFile, 'a') or die("can't open file");
$stringData = $_POST["name"];
fwrite($fh, $stringData."\n");
fclose($fh);
?>
以及将 ajax 发布到 phpwrite2.php 文件的 jQuery:
function writeToFile() {
$.ajax({
type: 'POST',
url: 'http://alexehgm.myhostpoint.ch/phpwrite2.php',
crossDomain: true,
data: '{"name":name, "filename" : filename}',
dataType: 'txt',
success: function(responseData, textStatus, jqXHR) {
var value = responseData.someKey;
},
error: function (responseData, textStatus, errorThrown) {
alert('POST failed.');
}
});
感谢您阅读我的问题,希望各位专业人士知道解决方案或找出问题所在。
【问题讨论】:
-
您需要在服务器端发送CORS 标头才能不受限制。
-
@AndreasScheibleger 您好,感谢您的回复。您能否解释一下,这个 CORS 是什么以及 tp 如何使用它?谢谢
标签: javascript php jquery ajax server