INVALID JSON FORMAT JQUERY

时间:2014-08-10 20:59:08

标签: jquery ajax json jax-ws prototypejs

嗨,大家好。我遇到问题,当我尝试为我的JAX-WS服务制作ajax时(我使用google jsonwebservice库)。 所以在我的页面上我有这个代码:

function submit(){
         var JSONObject= '{sayHello:{name:"alexei"}}';
         console.log(JSONObject);
            $.ajax({
                type: 'POST',
                url:  '/jaxwsExample-1.0.0-SNAPSHOT/json/hello',
                contentType: 'application/json',
                data: JSON.stringify(JSONObject),
                dataType: 'application/json',
                async: true,
                success: function(data) {
                    console.log("DATA " + data);
                }
            });
     }

和console.log(JSONObject);回到我身边:

{sayHello:{name:"alexei"}} 

但是在我的TomCat服务器中我遇到了这个错误:

引起:com.jaxws.json.codec.JSONFault:无效的JSON输入:“{sayHello:{name:\”alexei \“}}”

但我也从http://code.google.com/p/jsonwebservice/wiki/GettingStarted

得到了实例

在该示例中使用了原型调用的prototype.js框架:

 function submit(){
            new Ajax.Request('/jaxwsExample-1.0.0-SNAPSHOT/json/hello', {
                method: 'post',
                contentType: 'application/json',
                postBody: '{"sayHello":{"name":"'+$('name').value+'"}}',
                onSuccess: function(transport) {
                    $('response').update(transport.responseText).setStyle({ background: '#FFFFAA' });
                    $('notice').update(transport.responseText.evalJSON().message).setStyle({ background: '#dfd' });
                }
            });
        }

但我想使用jquery而不是prototype.js,你能帮我解决我的jquery ajax调用或JSON对象错误吗?

1 个答案:

答案 0 :(得分:0)

您的“对象”实际上是一个字符串。

var JSONObject= '{sayHello:{name:"alexei"}}';

因此,当您稍后致电JSON.stringify时,引号会被转义。要么以实际对象开始,

var JSONObject = {sayHello:{name:"alexei"}};

...或者不要尝试对字符串进行字符串化。