我正在使用 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 设置为 ./reports
和 reports
但仍然没有成功。
感谢您帮助新手!
最佳答案
我将其放在 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/