javascript
  • php
  • jquery
  • json
  • ajax
  • 2016-06-20 12 views 0 likes 
    0

    AJAXを使用してjson変数を渡す必要があります。ここに私のAjaxの機能は次のとおりです。Ajax jqueryは正常に実行された後でも正常に呼び出さない

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
    <script> 
    
    function emailchkforfrntend() 
    { 
    var key='7bc443a2a363b050bc94963baff4b2ac'; 
    var email_id=$("#email_id").val();// email_id->input field id 
    
    $.ajax({ 
    
        url: "targetURL/example.php", 
        type : "post", 
        dataType: "jsonp", 
        data : { "email_id": email_id, "key": key}, 
        success: function(result){ 
         alert('success'); 
        }, 
        error: function(XMLHttpRequest, textStatus, errorThrown){ 
         alert('error '+errorThrown); 
         alert('status '+textStatus); 
         alert('response text '+XMLHttpRequest.responseText); 
        }, 
        complete : function(){ 
         alert('in complete'); 
        } 
    
    }) 
    .done(function(msg) { 
        alert('Inside done....'+msg); 
    if(msg!=0) 
    { 
    var obj = jQuery.parseJSON(msg); 
    
    //var p_fname=obj.p_fname; 
    
    $("#Result_Div").html("<b style='color:blue;'>already existing Member <i class='fa fa-thumbs-o-up'></i></b>"); 
    
    } 
    else 
    { 
    
        $("#Result_Div").html("<b style='color:green;'>New Member <i class='fa fa-thumbs-o-up'></i></b>"); 
    
    } 
    }); 
    } 
    

    HTMLコード:

    <input type="text" id='email_id' onkeyup="emailchkforfrntend();"> 
    

    毎回機能をエラーにコールを与えているとコントロールが.done(function(msg){})を呼び出していない、この関数に呼び出した後。また、エラー機能の最初の警告でJquery1112016992787341587245_1466413029814 was not calledを取得しています。 1つのダミーPHPスクリプトをURLに渡します。URLにデータベースを挿入してURLを呼び出しているかどうかを確認します。そのPHPの呼び出しは機能していますが、success関数を呼び出す代わりにエラー関数を呼び出しています。

    紛失しているものはありますか?この機能を動作させるためには何が行われるはずですか?

    +0

    ! –

    +0

    jsonpの性質上、 'POST'メソッドは使用できません:http://stackoverflow.com/a/4508215/1414562 –

    +0

    @AminJafari PHPコードはうまくいきます。 javascriptを呼び出した後でも、PHPコード値がDBに挿入されています。 –

    答えて

    0

    お手伝いをしようとしています... JSON変数をPHPに送信する必要があるとお伝えください。ajaxを使用してください。私はあなたがJSONPを使用していることに気付きました。 JSONPは本当に必要ですか?

    私はHTML/JSのコードを書いています。コードはAJAXを使用してデータを送信し、コールバックを実行します。あなたのケースでJSONPが完全なコールバックに影響していないかどうか疑問に思っています。

    結果:

    Tue Jun 21 2016 15:39:54 GMT-0300 (BRT) Req sent {"email_id":"1","key":"abc"} 
    Tue Jun 21 2016 15:39:54 GMT-0300 (BRT) Success 
    Tue Jun 21 2016 15:39:54 GMT-0300 (BRT) Complete {"readyState":4,"responseText":"\n\t\n\t\t\n\t\t\n\t\n\t\n\t\tResult:\n\t\t 
    \n\t\n","status":200,"statusText":"OK"} 
    

    コード:あなたはおそらく、あなたのPHPコードのエラーを抱えている

    <html> 
        <head> 
         <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
         <script> 
          function log(msg) { 
           var dateMsg = (new Date()) + ' ' + msg; 
           var $res = $('#result'); 
           var $o = $('<li>').html(dateMsg); 
           $res.append($o); 
          } 
    
          function checkEmailFrontEnd(email_id, key) { 
           var userdata = { 
            email_id: email_id, 
            key: key 
           }; 
           var opts = { 
            url: 'html.html', 
            type: 'POST', 
            data: userdata, 
            success: function(data, textStatus, jqXHR){ 
             log('Success'); 
            }, 
            error: function(jqXHR, textStatus, error){ 
             log('Error ' + error); 
            }, 
            complete: function(jqXHR, textStatus){ 
             log('Complete ' + JSON.stringify(jqXHR)); 
            } 
           }; 
           $.ajax(opts); 
           log('Req sent ' + JSON.stringify(userdata)); 
          } 
          $(function(){ 
           checkEmailFrontEnd('1', 'abc'); 
          }); 
         </script> 
        </head> 
        <body> 
         Result: 
         <ul id='result'></ul> 
        </body> 
    </html> 
    
    +1

    問題は解決されます。 PHPファイルに問題がありました。ご協力ありがとう@Valdek Junior –

    関連する問題