2016-01-11 3 views
0

У меня есть вопрос о том, как использовать GET и POST одновременно. Что я пытаюсь сделать, так это то, что перед сохранением формы я хочу проверить, что новое имя пользователя еще не существует.Опубликовать json данные после getJson в jquery

{ “status”: “success”, “results” : [ { “id” : 1, “name” : “John Smith”, “password”: “123456” }, { “id”: 2, “name” : “Jane Doe”, “password”: “654321” } ] } 

Я хочу написать код, подтверждающий, что имя пользователя еще не существует до сохранения формы. Если имя пользователя существует, я хочу показать предупреждение в браузере. Если ошибок нет, я хочу отправить форму.

Вот что я получил до сих пор! Любая помощь будет принята с благодарностью!

$('form').submit(function(event) { 
var username = $('#user_name').val(); 

$.getJSON('user.json', function(data) { 

    var results = data.results; 
    var match = false; 

    $.each(results, function(i, result) { 
     if(result.name === username) { 
      match = true; 
     } 
    }); 

    if(!match) { 
     console.log("POST"); 
     // Submit the form! 


    } else { 
     alert("Username already exists!"); 
    } 

}); 

}); 

Есть ли лучший способ сделать это? даже без использования jQuery? что было бы вескими причинами для использования jQuery?

+0

с какой проблемой вы столкнулись? –

ответ

0

Проверьте приведенный ниже код, чтобы отправить данные в формате json.

if(!match) { 
     console.log("POST"); 

    $.ajax({ 
     cache: false, 
     url : ?, 
     type: "POST", 
     dataType : "json", 
     data : JSON.stringify(data), 
     context : Form, 
     success : function(callback){ 
      //Where $(this) => context == FORM 
      console.log(JSON.parse(callback)); 
      $(this).html("Success!"); 
     }, 
     error : function(){ 
      $(this).html("Error!"); 
     } 
    }); 
} 

удалить данные: JSON.stringify (data), incase вам не нужно.

+0

Что делает кеш и контекст? – user1707075

+0

дайте мне знать, если ваша проблема решена. вы можете использовать метод POST a, который вы хотите отправить некоторые данные в любую функцию. и cache: false, я думаю, вы не будете этого требовать. –

+0

да, это возможно ... –

Смежные вопросы