2017-11-17 7 views
0
$errMsgUsername=""; 
    $errMsgPassword=""; 

    if ($_POST['username']==""){ 
    $errMsgUsername="Username is null"; 
    } 
    if ($_POST['password']==""){ 
    $errMsgPassword="Password is null"; 
    } 

    echo json_encode(['errMsgUsername'=>$errMsgUsername,'errMsgPassword',=>$errMsgPassword]); // json response 1 

$success = ""; 
if ($_POST['username']!="" && $_POST['password']!=""){ 
$success = "Form data available"; 
json_encode(['success'=>$success]); // json response 2 
} 
$.ajax({ 
       url: $url, 
       type: $type, 
       data :formData, 
       cache: false, 
       dataType:"json", 
       contentType: false, 
       processData: false, 
       success: function(response){ 
       //if fields null, the response has to display here. 
       $('.div_username').html(response.errMsgUsername); 
       $('.div_password').html(response.errMsgPassword); 

       //if fields are not null the response has to display here/ 
       $('.div').html(response.success); 

       } 
      }); 

問題は、ユーザー名とパスワードがnullの間にフォームを送信すると、AjaxレスポンスがDivの期待どおりに表示されることです。 (ユーザー名とパスワードは、データとnullではない)しながら、私はフォームを送信する場合でも、AJAXの応答は、$(「DIV」)に表示されていない。HTML(response.success);. 私はそれは要求が成功したことを示しており、応答はまた戻って、このようなてきた開発ツールの下にAJAX要求をチェックしてください{「errMsgUsername」: 『『errMsgPassword」』:』 『}、{』成功 『:』フォームデータ利用可能 "}。Ajax経由で2つ以上のjson_encode phpエコーを取得するには?

ここでの問題は、ajaxレスポンスに2つの2つの json_encodeレスポンスがあることです。どのようにこの2つの応答をうまく管理するには? Jomyは、私はあなたのコードビットをクリーンアップとして、それを投稿し、あなたの答えの前に

+0

? –

+0

私は同じ反応を必要としません。どのようにそれを上記の状況に依存するようにするか? @NitinDhomse –

+0

@JomyJosephあなたは私にそれを明確な視点で示すことができますか?答えとして? –

答えて

0

は、この応答に開始、役に立つかもしれません。あなたは2と同じ応答を必要とするのはなぜ

<?php 

    $errors = array(); 

    if (empty($_POST['username'])){ 
    $errors['errMsgUsername']="Username is null"; 
    } 
    if (empty($_POST['password'])){ 
    $errors['errMsgPassword']="Password is null"; 
    } 

    if(!empty($errors)) 
    return json_encode($errors); 

    // If failed, which means we succeeded. 
    $success = array(
    'success' => 'Form data available' 
); 

    return json_encode($success); 
+1

私はあなたのコメントがあなたのコメントのために自分自身に向けられるべきだと言わなければならない。ユーザーは、問題の内容を知っていることを明示しましたが、解決する方法だけではありません。問題を理解していれば、それが平文で提供されているときに解決策を理解することもできます。あなたのコメントは有効で、私の答えは違うでしょう。もしOPが何が起こっているのか分からないと言われたら、そうではありません。 – Freddy

+0

StackOverflowでは、OPだけの質問にはお答えしません。私たちは質問を読んだ人のために質問に答えるので、将来の読者にとっては有用ではありません。ここで同じ問題を抱えている人は、コードで変更した内容や修正した内容を実際には説明していないので、ソリューションを理解できないことがあります。我々はそれが我々がStackOverflowのカントーに実行しないものを、十分に満足していなかったと感じた場合にStackOverflowに私たちもそれを改善するために、他の人の答えを編集 – GrumpyCrouton

+0

、ちょうどdownvoteとコメント領域で暴言するdownvoteです。また、同じ問題を抱える将来の訪問者は、完璧にうまく理解できるでしょう。なぜですか?あなたが何をしたいのか、何が間違っているのかを説明するので、OPはすでに終わっています。そして、将来の訪問者が私の答えが彼らを助けることができるかどうかを知るためには、OPの質問と問題を読んで理解し、それを特定し、それが彼らと同じであることを理解する必要があります。 – Freddy

関連する問題