我有不同类型的响应,但是不幸的是,我无法控制更改响应,因此我只能以ajax成功方法访问。
{"message":"Request completed","status":1}{"coin_message":"Thank You! Your....."}
以下是我迄今为止尝试过的脚本,但仍然无法访问它
success: function(response){
if(response.coin_message){
$('#response-from-controller-coin-payment').append('<div class="coin_messages alert alert-success" role="alert">'+response.coin_message+'</div>');
}
if(response.amount){
$('#response-from-controller-coin-payment').append('<div class="coin_messages alert alert-danger" role="alert">'+response.amount+'</div>');
}
if(response.currency){
$('#response-from-controller-coin-payment').append('<div class="coin_messages alert alert-danger" role="alert">'+response.currency+'</div>');
}
}
有人可以请我指导我如何获得回复。非常感谢。
答案 0 :(得分:0)
jQuery无法格式化thuis JSON,因为它不是有效的JSON。相反,您应该自己解析它。
如果没有嵌套的对象,那很简单:只需在第一个}
之后拆分字符串。例如,
success: function(response) {
var firstObj = $.parseJSON(response.substring(0, response.indexOf('}' + 1)));
var secondObj = $.parseJSON(response.substring(response.indexOf('}' + 1)));
// ...
}
然后将dataType: 'text'
附加到ajax选项。
答案 1 :(得分:0)
此无效的JSON格式。但您可以通过这种方式实现
success: function(response) {
var res= `[${response}]`.replace("}{","},{");
var [firstObj,secondObj]= eval(res)
}