1

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

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

这是我在桌面上使用 Javascript 的 HTML 文件 [call.html]::

<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."'}";


?> 
4

2 回答 2

-1

如果您想向不同的域发出 POST 请求,则必须使用跨域资源共享。

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

您可以使用JSONP进行 GET

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

于 2012-11-21T12:02:16.633 回答
-1

使用 jQuery 的getJSON,启用回调。

于 2012-11-21T12:07:18.153 回答