当结果是字符串时$ .getJson失败

时间:2018-03-11 22:59:06

标签: javascript jquery json

我有一个用于Fizz Buzz游戏的REST服务,它工作得很好并且已部署到heroku(https://mighty-oasis-86817.herokuapp.com/play?inputText=3只需更改inputText参数)。我试图在页面上使用它,当结果是文本时它不起作用。
当参数是单个数字并且结果可以解析为数字时,它可以正常工作。但显然当结果不是数字时,解析失败(例如:1 2 3返回1,2,Fizz)。 这是我的代码:

$.getJSON('https://mighty-oasis-86817.herokuapp.com/play?inputText=' + $('#inputText').val())
    .done( function (data) {
        alert(data);
    })
    .fail( function (data) {
        console.log(data);
    }
);


考虑到params的失败函数中我的目标是' 1 2':

abort:ƒ (e)
always:ƒ ()
...
readyState: 4
responseText:"1, 2"
setRequestHeader:ƒ (e,t)
state:ƒ ()
status:200
statusCode:ƒ (e)
statusText:"parsererror"
...

其中一个测试用例的响应日志:

MockHttpServletResponse:
        Status = 200
 Error message = null
       Headers = {Content-Type=[application/json; charset=UTF-8], Access-Control-Allow-Origin=[*], Content-Length=[18]}
  Content type = application/json; charset=UTF-8
          Body = 1, 2, 4, 7, 14, 98
 Forwarded URL = null
Redirected URL = null
       Cookies = []

编辑:这是我在java服务中返回的对象。

ResponseEntity response = ResponseEntity
            .ok()
            .headers(headers)
            .body(sj.toString());

sj是一个StringJoiner对象。

1 个答案:

答案 0 :(得分:0)

解决方案:

<?php if(is_page('1')){ ?>

 <section id="flash-area">
       <div class="flash oswald">
          .....................
        </div>      
   </section>
<?php }else {?>
    //i will removed this div

<?php } ?>