这是我的代码。我从localhost连接到localhost 8080上的服务器,我得到错误,因为它不是同一个来源。我查看了许多有用的链接,但我不知道如何将它们与此代码结合起来。以下是我提到的一些链接。
CORS - Cross-Domain AJAX Without JSONP By Allowing Origin On Server
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
<!DOCTYPE html>
<html>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<form action="http://localhost:8080/newjersey/rest/hello" name="ajaxform" id="ajaxform" method="GET">
ID:<br>
<input type="text" name="ID">
<br>
Notes:<br>
<input type="text" name="notes">
<br><br>
Ignore:<br>
<input type="checkbox" name="ignore[]" value="1">Avg
<input type="checkbox" name="ignore[]" value="2">Time
<input type="submit" value="Submit">
</form>
<script>
//callback handler for form submit
$("#ajaxform").submit(function(e)
{
//$(this).addHeader("Access-Control-Allow-Origin", "*");
//alert("Its here");
var postData = $(this).serializeArray();
var formURL = $(this).attr("action");
//var formURL = "http://localhost:8080/newjersey/rest/hello/";
//alert(formURL);
$.ajax(
{
url : formURL,
type: "GET",
data : postData,
success:function(data, textStatus, jqXHR)
{
//data: return data from server
//alert("Success " + textStatus);
},
error: function(jqXHR, textStatus, errorThrown)
{
//if fails
}
});
e.preventDefault(); //STOP default action
$(this).unbind(e); //unbind. to stop multiple form submit.
});
$("#ajaxform").submit(); //Submit the FORM
</script>
</body>
</html>
答案 0 :(得分:0)
您是否尝试过在SERVER上允许外国来源?
在服务器端添加此功能! (apache / nginx运行的地方)
Access-Control-Allow-Origin: *
apache2或htaccess中的示例:
<FilesMatch "\.(js)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>