javascript - Knockout.js 中的 $.getJSON 错误 URL

标签 javascript model-view-controller knockout.js laravel

我正在使用 Laravel 4 PHP MVC 框架和 Knockout.js 来构建我正在做的简单应用程序。

我已经设置了 RESTful API,并希望从客户端执行 $.getJSON 请求,但 get 请求被发送到 wring URL。

Knockout 不会对 http://mydomain.com/users/123Fdfsd02/reports 执行 GET,而是将请求发送到 http://mydomain。 com/users/reports 这是错误的 URL。

这是我的 knockout 代码:

function ReportViewModel() {
    var self = this;

    self.report = ko.observable();  

    self.getAllReports = function(data) {
        $.getJSON("reports", function(data) {
            self.report(data);
        });
    }

    self.getAllReports();
};

ko.applyBindings(new ReportViewModel());

我在这里缺少什么?我尝试将 url 设置为 ./reportsreports 但仍然没有成功。

感谢您帮助新手!

最佳答案

我将其放在 Laravel 项目的 header View 部分中,然后放在其他可能需要它的脚本之前:

<script>
    var BASE_URL = "{{ URL::to('/') }}";
</script>

然后我可以组装 AJAX 调用,例如...

 $.getJSON(BASE_URL+"api/content", params, function(response) {
     //whatever 
 });

无论应用程序是从本地主机的子文件夹运行,还是在临时或生产环境中运行,它都可以正常工作。

关于javascript - Knockout.js 中的 $.getJSON 错误 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17615229/

相关文章:

javascript - 有没有办法在不破坏网格对象的情况下交换与 ThreeJS 网格相关的图像?

javascript - filepicker.io——简单实现

javascript - 通过jquery删除选中的属性.model值在knockout js中未更新

c# - 第一次登录后 SSO Request.IsAuthenticated 始终为 false,但第一次 SSO 登录工作正常

asp.net-mvc-3 - 填充基本 View 模型的最佳方法

javascript - 为什么这个 setTimeout 根本不触发?

javascript - 按钮上的单击事件禁用所需 html 的默认行为

javascript - Angular 服务注入(inject)

javascript - 插入/更新子元素或在集合中插入完整文档 - 取决于现有的主元素

python - 在 QT4/PySide 中编辑不是基于树/表/列表的模型?