从REST服务KnockoutJS绑定值时的Parsererror

时间:2016-04-04 08:50:52

标签: javascript json ajax rest knockout.js

我正在尝试将单个文本字符串绑定到<input>。 REST服务返回嵌入JSON的简单文本字符串。客户端检索文本字符串,但我得到parsererror。 ajax请求失败,但包含文本字符串jq.responseText

导致错误的原因是什么以及如何从REST服务绑定单个字符串(非数组)值?

PS。我正在使用基于KnouckoutJS,JQuery和其他一些JS库的Oracle Jet框架。

了header.html

<input type='text' data-bind="value:hello" />

header.js

define(['ojs/ojcore', 'knockout' ], function (oj, ko) {
/**
 * The view model for the main content view template
 */
function headerContentViewModel() {
    var self = this;
    self.hello = ko.observable("local hello");


    this.getStatus = function () {
        $.ajax({
            dataType: 'json',
            type: 'GET',
            url: "http://localhost:8080/clear-obs/service/application/hello",                
            success: function (data) {
                $.parseJSON(data);
                self.hello(data.message);
            },
            error: function (jq, st, error) {
                alert(jq.responseText);
            }
        });
    };
    self.getStatus();


}
return headerContentViewModel;

});

文字字符串

{
   "message": "Hello World from REST service"
}

1 个答案:

答案 0 :(得分:0)

请在ajax成功中将文本字符串转换为javascript json对象,然后尝试,

var data = $.parseJSON(data);
self.hello(data.message);

请告诉我这是否符合预期。