为什么多个函数不调用WCF?

时间:2012-10-13 05:22:09

标签: jquery wcf

我在WCF服务中将值传递给数组元素。我在这里使用jQuery。

我的职能是:

在Service.cs中:

public class User
{

    Dictionary<int, string> users = null;
    public User()
    {
        users = new Dictionary<int, string>();
        users.Add(1, "apple");
        users.Add(2, "orange");
        users.Add(3, "lemon");
        users.Add(4, "grape");
    }

    public string[] GetUser(int Id)
    {
        var user = from u in users
                   where u.Key == Id
                   select u.Value;

        return user.ToArray<string>();
    }

在jQuery中:

function CallService() {
             $.ajax({
                 type: Type, 
                 url: Url, 
                 data: Data, 
                 contentType: ContentType,
                 dataType: DataType, 
                 processdata: ProcessData, 
                 success: function(msg) {
                     ServiceSucceeded(msg);
                 },
                 error: ServiceFailed
             });
         }

我的第一个函数我这样声明:

 function WCFJSON() {

             var uesrid = "2";
             Type = "POST";
             Url = "Service.svc/GetUser";
             Data = '{"Id": "' + uesrid + '"}';
             ContentType = "application/json; charset=utf-8";
             DataType = "json"; ProcessData = true; 

             CallService();

         }

这个函数我打电话如下:

 $(document).ready(
         function() {
         WCFJSON();
         }
         );

我的第二个功能是:

function temp()
         {
         //var id=parseInt($('#txtinput').val();
         var id="5";
         Type="POST";
         Url="Srvice.svc/GetUser";
         Data='{"Id":"'+id+'"}';
         ContentType="application/json;charset=utf-8";
         DataType="json";ProcessData=true;
        CallService();

         }

我通过按钮onclient click调用了这个函数,如下所示:

<asp:Button ID="btnsumbit" runat="server" Text="submit" OnClientClick ="temp();"  />

我的问题是当我运行这个程序时,我只得到了第一个函数(“WCFJSON();”)的结果,其他函数是“temp();”我没有得到任何结果。我不知道我错过了什么?任何人都可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

enter image description here数据='{“Id”:“'+ uesrid +'”}';

应该是:

Data = {"Id": uesrid};

这应该是一个对象,$.ajax将序列化它。

在temp()中,更改:

Data='{"Id":"'+id+'"}';

为:

Data={"Id": id };