【问题标题】:call remote webservice using json使用 json 调用远程 Web 服务
【发布时间】:2011-11-26 05:56:55
【问题描述】:

我为我做了一个网络服务,它在本地计算机上运行良好。

现在我在 iis 上部署我的项目,并希望从服务部署的 url 使用该服务

服务在该网址上运行良好

但是当我在 json 中使用该 url 时不起作用。这是我的代码,它工作正常

 $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "WebService.asmx/getlinqdata",
        data: '{}',
        dataType: "json",
        success: function (jsonText) {

            var myObject = eval(jsonText.d);

            for (var i = 0; i < myObject.length; i++) {
                $('#main').append('<p>' + myObject[i].Id + '</p>');
                $('#main').append('<p>' + myObject[i].Name + '</p>');
                $('#main').append('<p>' + myObject[i].Day + '</p>');
                $('#main').append('<p>' + myObject[i].Month + '</p>');
                $('#main').append('<p>' + myObject[i].Year + '</p>');
                $('#main').append('<br/>');
            }


        },
        error: function (msg) {
            alert("Error: " + msg.d);
        }
    });

这对我来说很好,但是当我使用部署的 web 服务 url 时,这个 url 是 http://localhost:1234/WebService.asmx/getlinqdata

getlinqdata 是我要调用的函数

谢谢

【问题讨论】:

  • 您需要完整的网址吗?喜欢: url: "localhost:1234/WebService.asmx/getlinqdata",
  • 您的 IIS 应用程序池是否有权访问您的数据库?喜欢:stackoverflow.com/questions/2951684/…
  • 你使用那个 url 我可以看到所有从数据库返回的 xml 数据但是当我使用那个 url 这个 json 脚本显示错误
  • @VbPatel:你到底看到了什么错误?
  • 我显示错误未定义......只需给我其他代码,我们可以使用 json 从实时 Web 服务 url 获取数据

标签: asp.net json web-services


【解决方案1】:

您可能会从一个域 (URL) 转到另一个域(即跨域),您不能按原样使用 JSON,而必须依赖 JSONP。

您将查看以下参考资料。希望它为你工作

http://www.codeproject.com/KB/aspnet/Cross_Domain_Call.aspx

http://www.wictorwilen.se/Post/SharePoint-Online-and-External-Data-using-JSONP.aspx

【讨论】:

  • thx jig 我发现我的问题是跨域问题,我使用 codeproject 链接,它的工作方式就像魅力 thx man
【解决方案2】:

这是我根据你的 cmets 给出的答案:

1234 是一个端口号,而不是域。如果您知道您的问题是在本地测试您的网站在端口 1234(而不是 80)上,而在生产服务器上您在端口 3456 上运行它,为什么不将 Web 服务 URL 更改为适当的端口部署到生产环境?

还有一个建议:

Eval is evil。当你有更好的方法时不要使用它like parseJSON.

var myObject = $.parseJSON(jsonText.d);

【讨论】:

  • 我搜索了很多,发现了这个问题。当我们从跨域获取数据时,使用 jsonp。任何想法......
猜你喜欢
  • 2014-04-03
  • 2011-01-13
  • 1970-01-01
  • 2011-07-05
  • 2014-03-14
  • 2019-06-02
  • 2011-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多