我正在使用ajax请求来调用jersey restful url。
function deRegisterPersonOrganization() {
var dynamicJson = $('#jsonRequest').val();
alert("Text Area JSON : " +dynamicJson);
var jsonObj = {
"solutionProviderKey" : "e3fad159-ac18-462d-a20e-17763af3689b"
};
$.ajax({
type: 'POST',
contentType: 'application/json',
url: rootURL + '/e3fad159-ac18-462d-a20e-17763af3689b/deregister',
dataType: "json",
data: JSON.stringify(dynamicJson),
success: function(data, textStatus, jqXHR){
alert('Deregister successfull');
},
error: function(jqXHR, textStatus, errorThrown){
alert('Deregister error: ' + textStatus);
}
});
}
问题是我需要提供JSON请求,我将通过文本区域给出它。 在上面的代码中,如果我在dynamicJson的位置使用变量jsonObj,则请求成功。但如果我在textarea中使用dynamicJson,我会给出
{
"solutionProviderKey" : "e3fad159-ac18-462d-a20e-17763af3689b"
}
作为请求,无法处理请求。
请尽快帮助我。
答案 0 :(得分:2)
它不起作用,因为textarea的值是一个字符串,而不是一个JSON对象。我建议:
var dynamicJson = eval(textarea.value);
然后将dynamicJson传递给方法调用,就像现在一样。
答案 1 :(得分:1)
将字符串转换为json对象。
var dynamicJson = JSON.toJSON($('#jsonRequest').val());
KJ