通过远程 Web API 馈送网页数据

Feeding webpage data via remote Web API

本文关键字:网页 数据 API Web      更新时间:2023-09-26

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

  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.:(

你能用$.getJSON方法让它工作吗?

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

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