0

我有一个 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(); 


})
4

3 回答 3

0

两种方法。首先,internet explorer javascript调试模式。(或者firebug更好)其次,将index.html重命名为index.php,然后在ajax和断点之前打开标签以回显页面,然后调试php {如果你不知道怎么做调试 php 请在 php.ini 文件中启用 xdebug 控件并使用 zend studio 或 eclipse 或 netbeans 进行 php ide,phpstorm 也适用于它。}

于 2013-10-19T20:39:55.783 回答
0

使用萤火虫进行调试

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

于 2013-10-20T19:21:51.530 回答
0

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

第二patch对象结构错误,无法发送到服务器,所以你必须编辑它

于 2013-10-19T20:44:38.600 回答