Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.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
Javascript 如何使用jquery读取简单的json结果,以及如何发布新的json结果_Javascript_Jquery_Json_Wcf - Fatal编程技术网

Javascript 如何使用jquery读取简单的json结果,以及如何发布新的json结果

Javascript 如何使用jquery读取简单的json结果,以及如何发布新的json结果,javascript,jquery,json,wcf,Javascript,Jquery,Json,Wcf,我构建了一个生成JSON的WCF服务。我想制作一个使用此Web服务的外部网站。目前,我正在通过IIS通过LAN执行WCF服务,因此我可以通过转到 我试图学习一些json,并从我的服务中获得一些结果 例如,如果我想使用此方法: [OperationContract] [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, BodyStyle

我构建了一个生成JSON的WCF服务。我想制作一个使用此Web服务的外部网站。目前,我正在通过IIS通过LAN执行WCF服务,因此我可以通过转到

我试图学习一些json,并从我的服务中获得一些结果

例如,如果我想使用此方法:

        [OperationContract]
        [WebInvoke(Method = "GET",
            ResponseFormat = WebMessageFormat.Json,
            BodyStyle = WebMessageBodyStyle.Wrapped,
            UriTemplate = "json/{id}")]
        string JSONData(string id);
我要去 结果我得到: {“JSONDataResult”:“您请求了产品123”}

现在,我尝试使用JQuery语句getJSON来接收这个结果。但我没有看到任何结果

我的问题是如何获得这些简单的数据

其次,我如何将数据(使用javascript)发布回wcf服务?使用json也可以吗

-编辑-:

我现在已经更新了我的代码,并将其放入位于
之间的文档准备功能中。。。。在我的页面上:

$.getJSON(
           'http://myownaddress/blabla.svc',
            function(data) 
            {
               alert(data.JSONDataResult);
            });

但这不会给警报带来结果。它甚至没有发出警报。。除此之外,在函数中,我需要给出一个id参数,例如123(查看上面的文本),我不需要将其也放在函数中吗?

您有这样的代码吗

$.getJSON(
    'http://myownaddress/blabla.svc/',
    function(result) {
        alert(result.JSONDataResult);
    }
);

记住
getJSON
不会立即返回数据,您必须在回调函数中使用结果。

您有这样的代码吗

$.getJSON(
    'http://myownaddress/blabla.svc/',
    function(result) {
        alert(result.JSONDataResult);
    }
);

请记住
getJSON
不会立即返回数据,您必须在回调函数中使用结果。

要获取数据,请使用
getJSON()

要发布数据,您可以使用:

或者(如果您需要更多控制):

您还可以使用ajax来获取数据,而不是使用
getJSON
方法

更新:

尝试使用ajax方法,因为它提供了更多的控制:

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType
});
 $.ajax({
      type: 'GET',
      url: "http://myownaddress/blabla.svc/json/123",
      success: function(data){alert(data)},
      dataType: "json",
      complete: function(data){alert(data)},
      error: function(jqXHR, textStatus, errorThrown){alert(errorThrown)}
    });
此外,如果您使用firefox,请查看扩展,它将大大帮助您。
如果您使用chrome,则使用。

获取数据使用
getJSON()

要发布数据,您可以使用:

或者(如果您需要更多控制):

您还可以使用ajax来获取数据,而不是使用
getJSON
方法

更新:

尝试使用ajax方法,因为它提供了更多的控制:

$.ajax({
  type: 'POST',
  url: url,
  data: data,
  success: success,
  dataType: dataType
});
 $.ajax({
      type: 'GET',
      url: "http://myownaddress/blabla.svc/json/123",
      success: function(data){alert(data)},
      dataType: "json",
      complete: function(data){alert(data)},
      error: function(jqXHR, textStatus, errorThrown){alert(errorThrown)}
    });
此外,如果您使用firefox,请查看扩展,它将大大帮助您。
如果你使用chrome,那么就使用。

你为什么要更改你的url

$.getJSON( 'h t t p://myownaddress/blabla.svc'==>'h t t p://myownaddress/blablabla.svc/123', 功能(数据) { 警报(data.JSONDataResult);
});

为什么要更改url

$.getJSON( 'h t t p://myownaddress/blabla.svc'==>'h t t p://myownaddress/blablabla.svc/123', 功能(数据) { 警报(data.JSONDataResult);
});

为了使用Jquery从网站外部的WCF服务获取json数据,您需要使用JSONP

您可以按如下所示执行呼叫:

$.ajax({
                        url: "http://myownaddress/blabla.svc/",
                        dataType: "jsonp",
                        type: "GET",
                        timeout: 10000,
                        data: null,
                        jsonpCallback: "MyCallback",
                        success: function (data, textStatus, jqXHR) {                           
                            alert(action.toLowerCase());
                        },
                        error: function (jqXHR, textStatus, errorThrown) {alert('error is:' + errorThrown);
                        },
                        complete: function (jqXHR, textStatus) {alert('complete');
                        }
                    });
当您希望使用Javascript执行跨域调用时,可以使用JSONP


此外,您的WCF服务应兼容处理JSONP调用,方法是使用URL中指定的回调方法将结果注入响应流。

为了使用Jquery从网站之外的WCF服务获取json数据,您需要使用JSONP

您可以按如下所示执行呼叫:

$.ajax({
                        url: "http://myownaddress/blabla.svc/",
                        dataType: "jsonp",
                        type: "GET",
                        timeout: 10000,
                        data: null,
                        jsonpCallback: "MyCallback",
                        success: function (data, textStatus, jqXHR) {                           
                            alert(action.toLowerCase());
                        },
                        error: function (jqXHR, textStatus, errorThrown) {alert('error is:' + errorThrown);
                        },
                        complete: function (jqXHR, textStatus) {alert('complete');
                        }
                    });
当您希望使用Javascript执行跨域调用时,可以使用JSONP


另外,您的WCF服务应该兼容处理JSONP调用,方法是使用URL中指定的回调方法将结果注入响应流。

我需要在函数中放入什么(“data”或“result”只是一个变量的名称,它将包含从服务器返回的数据。您可以随意命名它。我需要在函数中添加什么(“data”或“result”只是一个变量的名称,它将包含从服务器返回的数据。您可以随意命名它。它不返回警报,我已将带“”的.getjson放在document ready函数中,但它不起作用,我不需要在某个地方插入参数id吗?“h不是p”是错误的,应该是“http”没有空格。若要传递参数,需要将其添加到url:“是的,我知道..我用空格做的,所以stack不会给我错误,但也不起作用,它不会显示任何东西唯一起作用的是:flickr的最后一个例子,我得到了图像…但这不起作用..你是否更改了url以包含id(“)?尝试使用firebug或chrome developer工具查看发生了什么。它不会返回警报,我已将带“”的.getjson放在document ready函数中,但它不起作用,我不需要在某个地方插入参数id吗?“h t p”是错误的,应该是不带空格的“http”。要传递参数,需要将其添加到url:“是的,我知道..我用空格做的,所以堆栈不会给我错误,但它也不起作用,它不会显示任何东西唯一起作用的是:flickr的最后一个例子,我得到了图像…但这不起作用..你是否将url更改为包含id(“)?尝试使用firebug或chrome developer工具来查看发生了什么。你是什么意思?我的原始url是h t p://myownaddress/blablabla.svc,但如果我想使用JsonData方法,那么我使用h t p://myownaddress/blablablabla.svc/json,如果我想传递id=123,那么我就使用h t p://myownaddress/blablablablablabla.svc/json/123。你需要在$.getJSON中使用该url方法。否则它将返回404。你能检查你的HTTP状态吗?使用xhr或fiddler之类的工具吗?你是什么意思?我的原始url是htp://myownaddress/blablabla.svc,但是如果我想使用JsonData方法,那么我就使用htp://myownaddress/blablablabla.svc/json,如果我想传递id=123,那么我就不使用htp://myownaddress/blablablablabla.svc/json/123在$.getJSON方法中需要该url,否则它将返回404