2016-05-12 44 views
0

JSON.parse()を使用してjson文字列をデコードしようとしていますが、私はJSON/Jqueryに慣れていないので、コードをどこに配置するのか正確にはわかりません。JavaScriptのJson文字列をデコードする

これは、JSの一部です:

/* ----------------------------------------------------------- */ 
    /* Contact form 
    /* ----------------------------------------------------------- */ 

    $('#contact-form').submit(function(){ 

     var $form = $(this), 
     $error = $form.find('.error-container'), 
     action = $form.attr('action'); 

     $error.slideUp(750, function() { 
     $error.hide(); 

     var $name = $form.find('.form-control-name'), 
      $email = $form.find('.form-control-email'), 
      $phone = $form.find('.form-control-phone'), 
      $message = $form.find('.form-control-message'); 

     $.post(action, { 
       name: $name.val(), 
       email: $email.val(), 
       phone: $phone.val(), 
       message: $message.val() 
      }, 
      function(data){ 
       $error.html(data); 
       $error.slideDown('slow'); 

       if (data.match('success') != null) { 
        $name.val(''); 
        $email.val(''); 
        $phone.val(''); 
        $message.val(''); 
       } 
      } 
     ); 

     }); 

     return false; 

    }); 

私mailscriptの関連部分:

if($isValid == true) { 
     $result["submit_message"] = _msg_send_ok; 
    } else { 
     $result["submit_message"] = _msg_send_error; 
    } 
     if($_POST["name"]=="" || $_POST["name"]==_def_name) 
      $result["error_name"] = _msg_invalid_data_name; 
     if($_POST["email"]=="" || $_POST["email"]==_def_email || !preg_match("#^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4})$#", $_POST["email"])) 
      $result["error_email"] = _msg_invalid_data_email; 
     if($_POST["message"]=="" || $_POST["message"]==_def_message) 
      $result["error_message"] = _msg_invalid_data_message; 

    $result['isValid'] = $isValid; 

    echo json_encode($result); 

これは、次のように出力します{"submit_message":"Bedankt voor uw bericht!","isValid":true}

どのように私はそれだけで示して確認することができますJson文字列のsubmit_message部分?

+1

'$ .post'データ型をJSONに設定すると、それをまったくデコードする必要はありません。 jQueryはそれをあなたのために行います。 [jQuery.post](http://api.jquery.com/jQuery.post/)を確認してください – apokryfos

+1

[JQuery Parsing JSON array]の重複している可能性があります(http://stackoverflow.com/questions/10463131/jquery-parsing-json -アレイ) –

答えて

0

$ error.html(data)に送信メッセージを表示するだけであれば、jQueryが自動的にjsonをデータから解析するので、$ error.html(data.submit_message)に置き換える必要があります変数をオブジェクトに変換します。

関連する問題