如何使用Post方法将Javascript的跨域请求发送到包含大量请求数据的Php文件?
我尝试使用$ .ajax,$ .post但遇到与警告POST失败相同的问题。
这是我的HTML文件[call.html],其中包含Javascript at desktop ::
<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>
这是我在localhost上的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."'}";
?>
答案 0 :(得分:-1)
如果您想对其他域发出POST请求,则必须使用Cross-origin resource sharing。
您需要为目标服务器添加一些响应标头才能生效。
您可以使用JSONP
进行GET您可以使用jQuery库来处理大多数客户端复杂性。 $ .POST(...)
答案 1 :(得分:-1)
使用jQuery的getJSON,并启用回调功能。