起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2288|回复: 6

[结贴] ajax调用的问题

[复制链接]

6

主题

18

帖子

34

积分

新手上路

Rank: 1

积分
34
QQ
发表于 2017-7-27 14:36:44 | 显示全部楼层 |阅读模式
API URL:
http://192.168.198.89/SOA/App/Ge ... h=1&endmonth=11

Wex5代码:
Model.prototype.button1Click = function(event){
                      var rcv;
                   $.ajax({
            url:'http://192.168.198.89/SOA/App/GetPayRollByName',
            type: "GET",
            dataType: "json",
            contentType: "application/json",
            data: {name: "小胖",year:2017,begmonth:1,endmonth:11},
            async: false,
            cache:false,
            success: function(result){

                rcv=result;      
            },error:function(){
                    justep.Util.hint("接收数据失败");
                throw justep.Error.create("接收数据失败");
            }
        });
        justep.Util.hint(rcv);//获得的返回数据
           return rcv;
        };
没有成功,问题出在哪里?

6

主题

18

帖子

34

积分

新手上路

Rank: 1

积分
34
QQ
 楼主| 发表于 2017-7-27 14:50:58 | 显示全部楼层
wex5发送的http抓包后居然是这样:
OPTIONS /SOA/App/GetPayRollByName?name=%E5%B0%8F%E8%83%96&year=2017&begmonth=1&endmonth=11&_=1501137759048 HTTP/1.1

为什么是options,不是get?
回复 支持 反对

使用道具 举报

发表于 2017-7-27 16:18:33 | 显示全部楼层
请问你的当前页面 访问的 URL 是什么?是否存在跨域问题??

如果是跨域问题,可以看下http://docs.wex5.com/wex5-ui-question-list-4005/


直接在浏览器中输入
http://192.168.198.89/SOA/App/GetPayRollByName?参数
能正常访问服务器吗??
保证服务本身没问题!

ajax访问是标准的!错误信息可以上网搜下!或许就找到原因了!

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

6

主题

18

帖子

34

积分

新手上路

Rank: 1

积分
34
QQ
 楼主| 发表于 2017-7-27 16:30:18 | 显示全部楼层
liangyongfei 发表于 2017-7-27 16:18
请问你的当前页面 访问的 URL 是什么?是否存在跨域问题??

如果是跨域问题,可以看下http://docs.wex5.c ...

服务器本身没有问题,http://192.168.198.89/SOA/App/GetPayRollByName?可以正常访问,我修改ajax url,请求本地电脑的URL还是这个问题,本地的URL没问题,本地请求的get变成options,
回复 支持 反对

使用道具 举报

6

主题

18

帖子

34

积分

新手上路

Rank: 1

积分
34
QQ
 楼主| 发表于 2017-7-27 16:34:40 | 显示全部楼层
liangyongfei 发表于 2017-7-27 16:18
请问你的当前页面 访问的 URL 是什么?是否存在跨域问题??

如果是跨域问题,可以看下http://docs.wex5.c ...

这会不会是3.7的Bug,我请求本地的http://localhost:32144/SOA/App/GetPayRollByName也会出现get变成options,本地这个URL是没问题,可以正常返回数据
回复 支持 反对

使用道具 举报

发表于 2017-7-27 16:37:51 | 显示全部楼层
wsw8810 发表于 2017-7-27 16:30
服务器本身没有问题,http://192.168.198.89/SOA/App/GetPayRollByName?可以正常访问,我修改ajax url, ...

当前页面的URL是什么?
ajax请求的URL是什么?
确保 IP和 端口一样的!不存在跨域问题!
URL上直接使用问号  加 参数的形式,可以吗??

上网搜下原因吧
http://www.360doc.com/content/12/0419/16/2905268_204941113.shtml

可能还是跨域了
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

6

主题

18

帖子

34

积分

新手上路

Rank: 1

积分
34
QQ
 楼主| 发表于 2017-7-28 09:45:45 | 显示全部楼层
liangyongfei 发表于 2017-7-27 16:37
当前页面的URL是什么?
ajax请求的URL是什么?
确保 IP和 端口一样的!不存在跨域问题!

问题已经解决,给大家分享一下。
1.如果出现我所说的问题可以试一下在$.ajax里面不要使用contentType: "application/json", Get就不会变成Options.
2.如果出现返回包是200,返回的数据也是正常的,但就是进不了success,.net请通过Nuget安装cross跨域插件,然后在路由配置文件WebApiConfig.cs里面加上
             //跨域配置
            config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
我的是web api,问题就这样解决了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-10 07:31 , Processed in 0.056176 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表