2016-05-31 3 views
0

JSファイルから別のファイルのPHP関数にAjax呼び出しを行っています。 Ajaxの呼び出しは成功ですが、レコードを保存するという点では、処理のために正しいデータが返ってくるわけではありません。代わりに、私はページからhtmlを取得します。私は、レコードが保存されていない種類のエラーがあった場合、成功するかどうかを前進させたり、ユーザーに通知したりできるように、状況を確認する必要があります。ここに私のJSコードです。JSONがPHPから正しく返されないのはなぜですか?

$.ajax({ 
      type: "POST", 
      url: "utils.php?do=saveTick", 
      data: {'dtData': JSON.stringify(sendData)}, 
      success: function (data) { 
       alert(data.status); 
       if (data.status != "SUCCESS") { 
        $("#updateDiv").dialog('destroy'); 
        alert("Failed!"); 
        $("#btnPrint").attr('disabled', false); 
        return false; 
       } else { 
        me.confirmSave(); 
       } 
      } 
     }, 'json' 
       ); 

PHPで処理した後、これが私のJSONを返そうとしているので、確認することができます。私は/キャッチをしようと、私はこの

try { 
     $data = json_decode($_REQUEST['dtData']); 
     $values = $data[0]; 
     $ordNbr = $values->ordnbr; 
     $saveTick = Do something and save the ticket 
     // if ($saveTick->status === "SUCCESS") { 
     $this->getSalesData($values, $ordNbr); 
     echo json_encode($saveTick); 

    } catch (Exception $e) { 
     $saveTick = array('status' => 'FAILED'); 
     echo json_encode($saveTick); 
    } 

を持っており、これはphp.iniauto_prepend_fileauto_append_file設定を取り除く

<html> 
<head> 
<title></title> 

<style> 

    TR.main_header { 
     background-color:black; 
     color:white; 
    } 
    TR.main_footer { 
     background-color:#396B42; 
     color:white; 
    } 
    div.error { 
     color: red; 
     font-weight: bold; 
    } 

</style> 
</head> 
<body> 
<table border="0" cellpadding="0" cellspacing="0" width="100%"> 
    <tr class="main_header"> 
     <td align="left" width="25%"></td> 
     <td align="right" width="25%">Tuesday May 31,2016</td> 

    </tr> 
</table> 
                      [{"shipdate":"2016-05-31","ordnbr":"BR549","custid":"CUST","deltcktno":"D333423","siteid":"Some Site","dttype":"REG","IsExport":true,"slsperid":"","slsname":"Some Sales","slsemail":"[email protected]"}]{"status":"SUCCESS","message":"Successfully called","data":null,"count":0} 
</body> 
</html> 
+0

あなたのphpファイルには、header.phpや統計データが含まれています。 –

+0

これは*予定*です。 JSON –

+0

を生成するファイルに何も含まれていないことを確認してください上記の 'console.log'は何ですか? – Barmar

答えて

2

の上に私はconsole.logからコンソールに返されるものです。これらは変数と関数を定義しただけで安全ですが、HTMLを出力するとJSONやXMLなど他のタイプの出力を返すスクリプトに干渉します。

このPHP設定に頼るのではなく、他のすべてのスクリプトを再コード化して、ヘッダーとフッターを明示的に要求する必要があります。

関連する問題