我正在尝试将单个文本字符串绑定到<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"
}
答案 0 :(得分:0)
请在ajax成功中将文本字符串转换为javascript json对象,然后尝试,
var data = $.parseJSON(data);
self.hello(data.message);
请告诉我这是否符合预期。