繁体   English   中英

使用发布方法发送跨域请求

[英]Send cross domain request with post method

如何将跨域请求从具有Post方法的Javascript发送到具有大请求数据的Php文件?

我已经尝试过$ .ajax,$ .post,但有与POST失败警告相同的问题。

这是我的HTML文件[call.html],在桌面有Javascript:

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/
libs/jquery/1.3.0/jquery.min.js"></script>

</head>
<body>
<script type="text/javascript">
$.ajax({
    type: 'POST',
    url: 'http://localhost/GP/ALternate/file.php',
    crossDomain: true,
    data: '{"l":2}',
    dataType: 'json',
    success: function(responseData, textStatus, jqXHR) {
        var value = responseData.someKey;
    alert(value);
  //document.getElementById('w').innerHTML = value.d;
        },
    error: function (responseData, textStatus, errorThrown) {
        alert('POST failed.');
    }
});
</script>

<div id ='w'></div>
</body>
</html>

这是我在本地主机的php [file.php]脚本:

<?php
    header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN']);
    header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
    header('Access-Control-Max-Age: 1000');
    header('Access-Control-Allow-Headers: Content-Type');


 $f= $_GET["l"]; 

 echo "{'d' : '".$f."'}";


?> 

如果要向其他域发出POST请求,则必须使用跨域资源共享

您将需要您的目标服务器添加一些响应标头,以使其正常工作。

您可以使用JSONP进行GET

您可以使用jQuery库为您处理大多数客户端复杂性。 $ .post(...)

使用jQuery的getJSON ,并启用回调。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM