这是我用于其他 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);