php/ajax查询有效,但不起作用;t更新


php/ajax query works but doesn't update

这是一个我用于其他ajax更新函数的过程,但对于这个特定的实例,它不想工作。我不知道我的代码中是否遗漏了什么,或者查询字符串的一部分是url,需要在AJAX插件之前进行编码(我不知道这一点,也找不到任何信息,只是集思广益)。

当我直接访问php脚本并回显查询,然后在控制台模式下运行它时,它工作得很好。当我尝试使用AJAX访问它时,我得到了成功的响应,但数据库中的条目没有更新,所以我认为这意味着脚本没有正确运行。

这是我的代码:

AJAX

jQuery('#nl-details').on('click','#d-cl-change', function(){
    var mls = jQuery('#d-mls').val(),
        cl = jQuery('#d-cl-input').val(),
        url = 'scripts/forms/cl/clchange.php?mls='+mls+'url='+cl;
    jQuery('#test').html(url); //This is just for me to view the URL
    jQuery.ajax({
        url: url,
        dataType: 'json',
        success: function(data){
            jQuery('#d-cl-save').fadeIn('200').delay('800').fadeOut('800');
            jQuery('#d-cl-url').html('<a href="'+cl+'" target="_blank">Go to Listing</a>');
        },
        error: function(){
             jQuery('#d-cl-fail').fadeIn('200').delay('800').fadeOut('800');
        }
    });
});

PHP

//Generic include for MYSQL Credentials
define('INCLUDE_CHECK',true);
require('../../c.php');
$url = mysqli_real_escape_string($link,urldecode($_GET['url']));
$mls = mysqli_real_escape_string($link,$_GET['mls']);
$query = "UPDATE `nht_actprop`
        SET CLLINK = '".$url."'
        WHERE MSTMLSNO = '".$mls."'";
$result = mysqli_query($link,$query);
echo $query;
mysqli_close($link);

在这行yor代码中,您缺少一个&

url = 'scripts/forms/cl/clchange.php?mls='+mls+'url='+cl;

我想应该是这样的

url = 'scripts/forms/cl/clchange.php?mls='+mls+'&url='+cl;

我知道您已经选择了最佳答案,但我只想与您分享我将如何处理这项任务。

我建议使用AJAX的类型选项通过GET发送数据,如下所示:

jQuery('#nl-details').on('click','#d-cl-change', function(){
    var url = 'scripts/forms/cl/clchange.php';
    jQuery('#test').html(url); //This is just for me to view the URL
    jQuery.ajax({
        url: url,
        type: 'GET',
        data: {
                  mls: jQuery('#d-mls').val(),
                  url: jQuery('#d-cl-input').val()
              },
        dataType: 'json',
        success: function(data){
            jQuery('#d-cl-save').fadeIn('200').delay('800').fadeOut('800');
            jQuery('#d-cl-url').html('<a href="'+cl+'" target="_blank">Go to Listing</a>');
        },
        error: function(){
             jQuery('#d-cl-fail').fadeIn('200').delay('800').fadeOut('800');
        }
    });
});

最棒的是,你根本不需要更改你的PHP

祝你好运!让我知道你的想法