2017-05-09 9 views
0

私はJavaスクリプトからajax呼び出しを行い、PHPからjson応答を取得しようとしています.JSONとしてdataTypeを設定すると、成功ブロックが実行されていない場合、私は成功のブロックで応答をCONSOLE.LOGしようとすると、データ型を指定せずに、私は何もJSONからのAJAXコールの呼び出し

JS

let CurrentDate = Date(); 
console.log(CurrentDate); 

jsonObject = { 
    'TrackName' : 'Material Science', 
    'TrackDesc' : 'Test Text Test Text Test Text Test Text Test Text Test Text Test Text ', 
    'Timestamp' : CurrentDate 
} 
console.log(jsonObject); 
$.ajax({ 
    type:'post', 
    url:'../../../../PHP/adminScripts/addNewTrack.php', 
    contentType: "application/json", 
    data: {trackDetails:jsonObject}, 
    dataType: "json", 
    success: function(response) { 
     console.log('SUCCESS BLOCK'); 
     console.log(response); 
    }, 
    error: function(response) { 
     console.log('ERROR BLOCK'); 
     console.log(response); 
    } 
}); 

PHP

を取得しています

、「ファイルのURLを含める」にチェックあなたのphpファイルでcontentType: "application/json",

  • を削除し、私はあなたのJSファイルで

  • +1

    正しいURL ** '../../../../PHP/adminScripts/addNewTrack.php' ** –

    +0

    をコンソールエラーと呼びますか? – madalinivascu

    +0

    あなたはajaxでcontentTypeを削除しようとすると、 'dataType:" json "、encode:true、'その後、PHPのヘッダを取り除くことができます –

    答えて

    1
    • PHPでのAJAX呼び出しにJSONレスポンスを取得する方法を見つけ出す手助けとしてください閉じる
    • 文ブロックが正しく

    JSファイルの場合:

    let CurrentDate = Date(); 
    jsonObject = { 
        'TrackName' : 'Material Science', 
        'TrackDesc' : 'Test Text Test Text Test Text Test Text Test Text Test Text Test Text ', 
        'Timestamp' : CurrentDate 
    } 
    $.ajax({ 
        type:'post', 
        url:'addNewTrack.php', 
        data: {trackDetails:jsonObject}, 
        dataType: "json", 
        success: function(response) { 
         console.log('SUCCESS BLOCK'); 
         console.log(response); 
        }, 
        error: function(response) { 
         console.log('ERROR BLOCK'); 
         console.log(response); 
        } 
    }); 
    

    PHPファイル:

    <?php 
        header('Content-type: application/json'); 
        include('../connection.php'); 
    
        if($_POST) { 
         $obj = $_POST['trackDetails']; 
    
         $TrackName = mysql_real_escape_string($obj['TrackName']); 
         $TrackDesc = mysql_real_escape_string($obj['TrackDesc']); 
         $TrackAdderID = 'Admin ';     //$_SESSION["userID"]; 
         $Timestamp = mysql_real_escape_string($obj['Timestamp']); 
    
         $response_array['status'] = 'status123'; 
         echo json_encode($response_array); 
        } 
    ?> 
    
    0

    があなたのJSコードからcontentType: "application/json"を外し、PHPファイルに適切に括弧を閉じて、それが正常に動作します。

    +0

    ありがとうございました。 –

    関連する問題