【问题标题】:JQuery used $.post, $.get and $.ajax not working for my codeJQuery 使用的 $.post、$.get 和 $.ajax 不适用于我的代码
【发布时间】:2014-03-04 10:11:17
【问题描述】:

我想使用 JQuery 从 php 文件中发布和获取数据。我已经尝试过 jQueries post、get 和 $.ajax 方法,但仍然没有运气。代码好像没有调用php代码。

这是调用 test.js 文件的 myUpload.php 文件,它有效。它看起来很复杂,但它所做的只是每当用户选择 myUploads 时,它都会进行 sql 查询以从数据库中获取所有图像,然后在分配 id 和 path 属性后将它们附加到列表中的 href。

$query = mysql_query("Select path, imgID from `images`");
echo "<ul>";
while($row = mysql_fetch_assoc($query)){
echo "<li><img src=\"{$row['path']}\" height=\"100px\" width=\"100px\"/><a href=\"javascript:return(0);\" id=\"{$row['imgID']}\" path=\"{$row['path']}\"><img src=\"remove.png\" height=\"12px\" width=\"12px\"/></a></li>";

这是我的 test.js 文件中的 JQuery 代码,当用户单击链接时,它会正确运行。我能够检索所有属性,因此一切正常,它来自 $.post 代码似乎停止了。这也嵌入在 document.ready 函数中,并且我在 myUpload.php 文件中使用了 JQuery 的导入语句

$('a').click(function(){
var del_id = $(this).attr('id');
var parent = $(this).parent();
var path = $(this).attr('path');
alert(path);
$.post('delete.php', {id:del_id},function(data){
alert(path);
parent.slideUp('slow', function() {$(this).remove();});
});
});​

我现在的delete.php文件只有得到

$id = $_POST['id'];
echo $id;

出于测试目的,我还单独包含了回声,例如。 echo "anything";,由于它没有运行,我知道 delete.php 文件没有被调用。

我还尝试了 Ajax 方法,将 text.js 下列出的代码替换为:

                    $('a').click(function()
         {

        var del_id = $(this).attr('id');
        var parent = $(this).parent();
        var path = $(this).attr('path');
        //alert(path);
        $.ajax({
         type:"post",
        url:"delete.php",                       
                    data:"path="+path+"&del_id="+del_id,                                         
                    success:function(data){         
                   parent.slideUp('slow', function() {$(this).remove();});
                   }
               });
     });​

slideUp 功能有效,但 delete.php 中的代码再次无法运行。

任何想法将不胜感激。 Ps 我是 php 和 JQuery 的新手。谢谢

【问题讨论】:

  • 检查您的 URL 请求(网络标签),是否准确?
  • 如果您还没有,请使用 Firebug for Firefox 来跟踪您的 JavaScript。它会输出您可能遇到的任何错误。
  • 您当前的网址是什么?也许“delete.php”应该是“\delete.php”。
  • 当然这似乎是delete.php 的路径问题,现在看来您的 js 代码在其他地方,而您的 php 在其他地方,但在您的代码中,您引用的是同一级别你有你的js代码。

标签: php jquery ajax


【解决方案1】:

仅使用检查连接。

//Your Code
$query = mysql_query("Select path, imgID from `images`");
echo "<ul>";
while($row = mysql_fetch_assoc($query)){
echo "<li><img src=\"{$row['path']}\" height=\"100px\" width=\"100px\"/><a href=\"javascript:return(0);\" id=\"{$row['imgID']}\" path=\"{$row['path']}\"><img src=\"remove.png\" height=\"12px\" width=\"12px\"/></a></li>";

//My Code

    define('DB_NAME', 'Databasename');
    define('DB_USER', 'root');
    define('DB_PASSWORD', '');
    define('DB_HOST', 'localhost');

    $con=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
    if (mysqli_connect_errno())
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

$query = @mysqli_query($con,"SELECT path, imgID FROM images");
    echo "<ul>";
    while($row = mysqli_fetch_array($query))
    {
        echo "<li><img src=\"{$row['path']}\" height=\"100px\" width=\"100px\"/><a href=\"javascript:return(0);\" id=\"{$row['imgID']}\" path=\"{$row['path']}\"><img src=\"remove.png\" height=\"12px\" width=\"12px\"/></a></li>";
    }
    echo "</ul>";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-03
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    • 2021-03-23
    • 2011-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多