【问题标题】:Pass data in a .getJSON. Possible? How?在 .getJSON 中传递数据。可能的?如何?
【发布时间】:2013-08-22 06:44:19
【问题描述】:

我正在做一个应用程序,我有一个选择,用户可以在其中选择不同的团队。每个团队包含几个病人。我使用数据绑定 selectedOptions 保存所选团队,并将选项存储到名为“selectedTeam”的可观察对象中。

我正在通过电话收到一份患者名单

self.searchPatients = function () {
    $.getJSON("/api/API/GetPatients", function (data) {
        ko.mapping.fromJS(data, {}, self.patients);
    });
};
self.searchPatients();

回到我的 APIController,我得到了一个向数据库询问患者的方法。这个调用需要不同的参数,其中一个是要从哪个团队搜索。

我的问题是如何将 observable 'selectedTeam' 传递给我的 APIController,将其转换为字符串以将其传递给 DB 调用。

谢谢

【问题讨论】:

    标签: c# jquery mvvm knockout.js


    【解决方案1】:

    要将数据传递给控制器​​,您可以使用 jquery ajax 调用如下,

        $.ajax({
        type: "POST",
        url: "api/API/GetPatients",
        data: JSON.stringify(yourObject), // data to be passed to controller
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (result) {
           // your success call
        },
        error: function () {
            alert("Unable to Save.");
        }
    });
    

    【讨论】:

      【解决方案2】:

      您可以将数据作为getJSON 函数的第二个参数传递:

      self.searchPatients = function () {
          $.getJSON("/api/API/GetPatients", { param1: 'anyvalue' }, function (data) {
              ko.mapping.fromJS(data, {}, self.patients);
          });
      };
      self.searchPatients();
      

      【讨论】:

        【解决方案3】:

        假设服务器方法如下所示:

        [HttpGet]     
        public Object GetPatients(String team)
        {
         // return the patients
        }
        

        你应该使用这个 JavaScript :

        self.searchPatients = function () {
            $.getJSON("/api/API/GetPatients", { team: self.selectedTeam() }, function (data) {
                ko.mapping.fromJS(data, {}, self.patients);
            });
        };
        

        因为 self.selectedTeam 是一个 observable 你不能把它发送到服务器。你要发送的是它的值。这就是您需要“调用”可观察对象的原因。

         self.selectedTeam() // returns the value of the observable.
        

        希望对你有帮助。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-01-04
          • 2013-06-20
          • 2014-08-09
          • 2023-03-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多