Tag: 跨领域

jquery $ .ajax跨域GET工作但不是POST

我无法弄清楚为什么GET跨域请求正在工作,但使用完全相同的服务器URL的POST请求不是。 我在服务器上设置了以下响应头(使用JERSEY),用于所有请求方法(GET,POST,PUT,DELETE和OPTIONS): header(“Access-Control-Allow-Origin”, “*”) header(“Access-Control-Allow-Credentials”, “true”) header(“Access-Control-Allow-Methods”, “GET, POST, PUT, DELETE, OPTIONS”) header(“Access-Control-Allow-Headers”, “accept, origin, authorization, content-type, content-length, connection, x-requested-with, user-agent”) GET请求正在跨域工作 $.ajax({ type:”GET”, url: base_url + “workoutdays?memberId=100350194”, beforeSend: function(xhr) { xhr.setRequestHeader(“Authorization”, auth); }, success: function(msg) { $(‘#results’).html(msg[0].workoutName); }, error: function (xhRequest, errorText, thrownError) { alert(errorText); } }); 但POST请求不是 $.ajax({ type:”POST”, url: base_url + “workoutdays?memberId=100350194”, […]

“Access-Control-Allow-Origin:*”对REST Web服务没有影响

我从JavaScript客户端(在机器A上运行)到Web服务器(在机器B上运行)进行AJAX调用。 客户端尝试访问由RESTful Web服务(Jersey)公开的URL,并且它被阻止并显示错误: Access-Control-Allow-Origin不允许使用原始http:// localhost / 在服务器中,我添加了2个标头参数,允许访问任何客户端。 但它没有帮助: @Context private HttpServletResponse servlerResponse; @POST @Path(“testme”) public void test(){ servlerResponse.addHeader(“Access-Control-Allow-Origin”, “*”); servlerResponse.addHeader(“Access-Control-Allow-Credentials”, “true”); } 对于JSP,相同的头文件有效: test jsp test 我错过了什么吗? 谢谢 PS客户端部分是: $.ajax({ type: “POST”, url: “http://localhost:8080/login/testme”, dataType: ‘json’, success: onLoginSuccess, error: onLoginError });