如何调试ajax事件发生时启动的php

时间:2013-10-19 20:35:00

标签: php ajax

我有一个index.html文件,它包含一个触发ajax请求的按钮并启动一个php文件.php文件将数据发送到服务器。问题是我不知道如何调试php文件,因为echo似乎不起作用(我可能做错了)。我只是想将各种变量回显到html文件中的div,看看它们在程序的不同点上是什么。如果有更好的方法,请发布。谢谢。

PHP

<?php
require_once 'connect.php';
?>

<?php

// Create table

$patchData = $_POST[mydata];
$encoded = json_encode($patchData);
$sql="INSERT INTO patches (patch_name)
VALUES ('{$encoded}')";





// Execute query
if (mysqli_query($con,$sql))
  {
  echo "Table updated successfully";
  }
else
  {
  echo "Error updating table: " . mysqli_error($con);
  }
?>

的Javascript

var patch = { 
"patch_name": "",
    "sound_type": {
        "synths": [     // each 'synth name' is a draggable div that plays an oscillator

        // etc

        ],
        "samplers": [ 
            // same as synth only for divs that trigger audio files instead of oscillators
        ]
    }, 

}
// START Save DOM nodes

function save(){
    instrumentName = $('#instrument-name-form').val();

    patch.sound_type.synths.length = 0;
    patch.sound_type.samplers.length = 0;

    $(".synth").each(function(){
        var temp = $( "#" + this.id ); 
        var pos = $(temp).position();
        console.log(this.id);
        patch.sound_type.synths.push({'synth_name':this.id,'xpos':pos.left,'ypos':pos.top});
        });

        $('.patch-list').html(patch.name);
        patch.patch_name = instrumentName ;

        console.log(patch);



            $.ajax({
            type: 'POST',
            url: 'php/add.php',
            data: {mydata: patch},    
            success: function(){
                console.log('yay');
            }


            });



};



$('#save-synths').click(function(){
    save(); 


})

3 个答案:

答案 0 :(得分:0)

两种方式。 首先,Internet Explorer javascript调试模式。(或者firebug更好) 其次,将index.html重命名为index.php,然后打开  标签在ajax和breakpoint之前回显页面,然后调试php { 如果你不知道如何调试PHP 请在php.ini文件中启用xdebug控件 使用zend studio或eclipse或netbeans for php ide,php风暴也适用于它。 }

答案 1 :(得分:0)

首先:将此行$patchData = $_POST[mydata];更改为$patchData = $_POST['mydata'];

patch对象结构错误,无法发送到服务器,因此您必须对其进行编辑

答案 2 :(得分:0)

Debugging with firebug

或者您也可以使用基于文件的php变量记录。