2013-05-21 2 views
1

с использованием запроса ajax для вызова недействительного URL-адреса Джерси.Невозможно использовать динамический JSON

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, где я дам его через область текста. в приведенном выше коде, если я использую переменную jsonObj в месте dynamicJson, запрос выполнен успешно. но если я использую dynamicJson, где в текстовом поле я даю

{ 
    "solutionProviderKey" : "e3fad159-ac18-462d-a20e-17763af3689b" 
} 

как запрос, не удалось обработать запрос.

Пожалуйста, помогите мне как можно скорее.

ответ

1

Включите строку в объект json.

var dynamicJson = JSON.toJSON($('#jsonRequest').val()); 

KJ

+1

Thanku so much .. это работает. также работает $ .parseJSON ($ ('# jsonRequest'). val()). – Satheesh

2

Это не работает, потому что значение из textarea является строкой, а не объектом JSON. Я бы предложил:

var dynamicJson = eval(textarea.value); 

, а затем передать dynamicJson в вызов метода, как сейчас.

+0

Почему с помощью Eval JavaScript функционировать плохая идея? http://stackoverflow.com/questions/86513/why-is-using-the-javascript-eval-function-a-bad-idea – Kieran

+0

Да. это всего лишь один способ предложить строку в объект JSON. Я вижу, что вы предлагаете другой ответ. Спасибо за комментарий. –

+0

это не работает. запрос будет изменен для отправки заявки здесь. – Satheesh