Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用json调用远程Web服务_Asp.net_Json_Web Services - Fatal编程技术网

Asp.net 使用json调用远程Web服务

Asp.net 使用json调用远程Web服务,asp.net,json,web-services,Asp.net,Json,Web Services,我为我做了一个网络服务,它在本地计算机上运行良好 现在,我在iis上部署我的项目,并希望从服务部署的url使用该服务 该服务在该url上运行良好 但是,当我在json中使用该url时,它不起作用。这是我的代码,工作正常 $.ajax({ type: "POST", contentType: "application/json; charset=utf-8", url: "WebService.asmx/getlinqdata",

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

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

该服务在该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);
        }
    });
$.ajax({
类型:“POST”,
contentType:“应用程序/json;字符集=utf-8”,
url:“WebService.asmx/getlinqdata”,
数据:“{}”,
数据类型:“json”,
成功:函数(jsonText){
var myObject=eval(jsonText.d);
对于(变量i=0;i');
$('#main').append(''+myObject[i].Name+'

'); $(“#main”).append(“”+myObject[i].Day+”

'); $(“#main”).append(“”+myObject[i].Month+”

'); $(“#main”).append(“”+myObject[i].Year+”

'); $(“#main”).append(“
”); } }, 错误:函数(msg){ 警报(“错误:+msg.d”); } });
这对我来说很好,但是当我使用部署的webservice url时,这个url是

getlinqdata是我要调用的函数


thax

这是我根据您的评论给出的答案:

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

还有一项建议:

。当你有更好的方法时不要使用它


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

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


您需要完整的url吗?比如:url:“localhost:1234/WebService.asmx/getlinqdata”,您的IIS应用程序池是否可以访问您的数据库?比如:使用这个url,我可以看到所有从数据库返回的xml数据,但是当我使用这个url时,这个json脚本会显示出来error@VbPatel:您到底看到了什么错误?我显示了未定义的错误…只要给我其他代码,我们就可以使用jsoni搜索从live web服务url获取数据,并发现了这个问题。这是当我们从然后跨域使用jsonp。有什么想法吗?…thx jig我发现了我的问题,它是跨域问题,我使用codeproject链接,它的工作就像魅力thx人一样
var myObject = $.parseJSON(jsonText.d);