开发者社区> 问答> 正文

老问题:ajax请求跨域? 400 报错

老问题:ajax请求跨域? 400 报错

我的网站是这样www.xxx.com

然后我想拿www.abc.com/get-orgs.action这个地址的json数据。

但用的ajax请求总是返回200。

申明:我没法改www.abc.com/get-orgs.action的代码,没法用jsonp

谢谢。

 

$.ajax({
		type : "POST",
		async : false,
		data : {
			"xx" : '123'
		},
		url : url,
		success : function(data) {
			alert(1111);
			//console.log(data.result);
		}
	});

展开
收起
爱吃鱼的程序员 2020-06-02 17:20:34 954 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    用$.getJSON()也解决不了问题
    ######

    // 局域网 访问java项目里的数据

    var studentId = $("#studentId").val();
        var schoolId = $("#schoolId").val();
     jQuery.ajax({
         type:"get",
         async:false,
         dataType:"jsonp",
         data: "schoolId="+schoolid+"&studentId="+studentid,
         jsonp:"callback",
         jsonpCallback:"success_jsonpCallback",
         url: "http://192.168.1.14:8080/.../..",
         success: function(json){
        $("#jiucuoben").html(json[0].result);
        $("#stujiucuoti").html(json[0].result1);
        //alert(json);
         }
       });

    // 试试看啊   我的是成功了

    ######

    设置$.ajax的crossDomain参数试一下。不过我觉得你的情况自己多半还得在后台写个代理。

    ######

    引用来自“MUTEX”的答案

    设置$.ajax的crossDomain参数试一下。不过我觉得你的情况自己多半还得在后台写个代理。

    我试过那个参数了。没有用。
    ######

    引用来自“白色风车”的答案

    // 局域网 访问java项目里的数据

    var studentId = $("#studentId").val();
        var schoolId = $("#schoolId").val();
     jQuery.ajax({
         type:"get",
         async:false,
         dataType:"jsonp",
         data: "schoolId="+schoolid+"&studentId="+studentid,
         jsonp:"callback",
         jsonpCallback:"success_jsonpCallback",
         url: "http://192.168.1.14:8080/.../..",
         success: function(json){
        $("#jiucuoben").html(json[0].result);
        $("#stujiucuoti").html(json[0].result1);
        //alert(json);
         }
       });

    // 试试看啊   我的是成功了

    谢谢。我写的是纯静态页面。
    ######

    纯静态页面想跨域访问不是自己主机的json基本是不可能的

    如果目标主机的代码改不了,一般做法是通过服务器代码中转,再发送到前台js

    ######谢谢。###### http://my.oschina.net/liuxiaori/blog/64256 看这里,刚写的如何解决跨域问题######

    引用来自“Liuxey”的答案

    纯静态页面想跨域访问不是自己主机的json基本是不可能的

    如果目标主机的代码改不了,一般做法是通过服务器代码中转,再发送到前台js

    中转这个思路不错 
    ######通常就是这么用的######script是跨越的,$.getScript,不过要看你传输的数据有多少了,印象中这种不能用post方式。。######

    引用来自“Andre.Z”的答案

    script是跨越的,$.getScript,不过要看你传输的数据有多少了,印象中这种不能用post方式。。
    楼主是要纯静态的解决方案。
    ######回复 @Andre.Z : 纯静态是实现不了的,可以使用代理来做转换.######彻底无语。
    2020-06-02 17:20:54
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载