Javascript 使用php代理的跨域Ajax POST请求
首先,我已经读过,这是使用php代理执行跨域Ajax GET请求。但我需要的是一个Ajax POST请求 所以在我的项目中,很久以前。有人编写了这个php文件,并用JavaScript编写了ajax调用,这些都是用来解决跨源问题的,效果非常好!所以我从来没有想过要理解这一点,因为我基本上只需要更改JavaScript中的url,而不需要理解这个Ajax调用如何与php一起工作 PHP:Javascript 使用php代理的跨域Ajax POST请求,javascript,php,ajax,proxy,Javascript,Php,Ajax,Proxy,首先,我已经读过,这是使用php代理执行跨域Ajax GET请求。但我需要的是一个Ajax POST请求 所以在我的项目中,很久以前。有人编写了这个php文件,并用JavaScript编写了ajax调用,这些都是用来解决跨源问题的,效果非常好!所以我从来没有想过要理解这一点,因为我基本上只需要更改JavaScript中的url,而不需要理解这个Ajax调用如何与php一起工作 PHP: <?php $nix=""; $type=$_GET['requrl']; if ($_GET['req
<?php
$nix="";
$type=$_GET['requrl'];
if ($_GET['requrl'] != $nix) {
$file = file_get_contents($_GET['requrl']);
}
elseif ($_POST['requrl'] != $nix) {
$file = file_get_contents($_POST['requrl'], false, $_POST['data']);
}
else {
$file = "false type";
}
echo $file;
?>
var url = "https://XXXXXXXXXXXXXX";
url = encodeURI(url);
var useProxyPhp = true;
var data = (useProxyPhp) ? {requrl: url} : "";
var ajaxUrl = (useProxyPhp) ? "proxy.php" : url;
var ajaxProperties = {
type: 'GET',
data: data,
url: ajaxUrl,
cache: false
};
res = jQuery.ajax(ajaxProperties).done(function(res) {
// do something with the result here
})
所以我需要做的就是接受相同的AJAXGET请求(在JS中复制和粘贴),并在每次==>完成任务时替换url
现在,当我第一次需要做一个ajax POST请求来向服务器发送一个xml文件时,服务器将对它进行一些计算并给我一个响应
我先和邮递员一起测试,一切正常,但当我切换到我真正的项目时。我变成了一个跨国问题。所以我想如果我能对已经存在的php和js做些什么,那么我就能解决跨源问题
我在JavaScript中尝试了这一点,但我只得到了“false type”作为antwort
function sendWPSRequest(xml) {
var url = "https://XXX.XXX.XXX.XXX:XXXX/wps";
useProxyPhp = true;
var data = (useProxyPhp) ? {requrl: url, data: xml} : "";
var ajaxUrl = (useProxyPhp) ? "proxy.php" : url;
$.ajax({
type: "POST",
url: ajaxUrl,
dataType: "text",
contentType: "application/xml",
data: data,
success:function (response) {
console.log('POST success: ', response);
},
error: function (jqXHR, textStatus, errorThrown) {
alert("POST", textStatus, errorThrown);
}
});
}
有人能帮我了解一下php在这里做什么,以及我应该如何修改php和JS。你能告诉我们哪些标题出现在外部网站的回复中吗?相关文件以
访问控制-*
@TobiasF开头。很抱歉,我找不到与访问控制-*
相关的任何内容,因为我认为请求从未发送到服务器,php代理已经出错。当我在没有代理php的情况下执行ajaxpost请求时,我就会发出警告,firefox会阻止我对所需url的跨源请求。