这是我用于其他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);
答案 0 :(得分:2)
在您的代码的这一行中,您缺少&amp;
url = 'scripts/forms/cl/clchange.php?mls='+mls+'url='+cl;
我认为应该是这样的
url = 'scripts/forms/cl/clchange.php?mls='+mls+'&url='+cl;
答案 1 :(得分:1)
我知道您已经选择了最佳答案,但我想与您分享我将如何解决此问题。
我建议使用AJAX的type选项通过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
祝你好运!让我知道你的想法