0

我正在尝试操作两台服务器。

  1. MVC Web API 服务。
  2. MVC Web 应用程序。

这个想法是 Web 应用程序呈现一个充满 javascript 请求的页面,这些请求填充来自远程 API 服务的实际数据。Web 应用程序本身永远不会接触数据库或 API 服务(除了最初设置授权令牌)。

实现这一目标的最佳方法是什么?

到目前为止,我一直在使用JQuery AJAX请求,尝试使用JSONP. 但是,我总是得到“未调用 x”异常。

    $.ajax({
        url: '@(ViewBag.API)api/customer',
        type: 'get',
        dataType: 'jsonp',
        jsonp: false,
        jsonpCallback: function (data) {
            debugger;
            // code to load to ko
        },
        error: function (xhr, status, error) {
            alert(error.message);
        }
    });

在发送请求之前调用该jsonpCallback函数,所以我假设它实际上试图调用一个函数来生成一个字符串?如果我修改这个请求:

    window.success = function (data) {
        debugger;
        // code to load to ko
    };

...与 jsonpCallback 是“成功”,我仍然得到同样的错误(但成功方法从未被调用。

有任何想法吗?谢谢。

编辑:我从此开始了正确的课程:

http://www.codeproject.com/Tips/631685/JSONP-in-ASP-NET-Web-API-Quick-Get-Started

添加了格式化程序,并将 jsonCallback 替换为成功,就像普通的 ajax 一样。然而,这似乎只适用于get. 我不能deleteupdate。:(

4

1 回答 1

0

你可以使用 $.getJSON 方法让它工作吗?

$.getJSON( "ajax/test.json", function( data ) {
  //handle response
});

您是否在 IE 中启动了开发人员工具并观察网络流量以准确查看发送和返回的内容?

于 2013-10-23T16:45:39.457 回答