【问题标题】:issue using $.ajax with php effectively有效地将 $.ajax 与 php 一起使用的问题
【发布时间】:2017-12-05 22:46:50
【问题描述】:

我无法理解我在这里缺少什么或没有做什么(显然是什么),也许有人可以提供帮助。

我有一个数据库站点,它显示从客户端的 SQL 数据库生成的表。初始化表时,将执行此代码并提取相关下拉列表所需的数据(我为此帖子添加的 cmets):

$selectOwner = "SELECT DISTINCT [Contacts].[Alias], [Contacts].[Last Name], [Contacts].[ID] FROM [TechInv].[dbo].[Contacts]";

//this is the file that contains the above query variable
require('custom/Connection.php');

$owner_arr = array();

//$conn is our connection string
$response = sqlsrv_query($conn, $selectOwner);
while ($row = sqlsrv_fetch_array($response)){
    array_push($owner_arr, $row['Alias'] . " " . $row['Last Name']);
}

这会生成以别名(名字)姓氏格式从数据库中提取的姓名记录列表。

这就是我遇到问题的地方

该网站的另一个功能是一个菜单,允许特定权限级别的用户向表中添加其他联系人。一切正常,除了代码中没有任何地方是在添加联系人时更新上述数组,这会迫使用户重新加载页面,ew。

我知道我需要为此使用 $.ajax,所以我尝试了一下,并将以下代码放入“添加联系人”提交按钮的点击处理程序中:

$.ajax({
    type: 'POST',
    data: 'listRefresh();',
    url: 'wp-content/plugins/editable-grids-api-liam/regenOwnerArr.php',
    success: function() {
        alert("this succeeded?");
    }
});

data: 'listRefresh();' 行引用了我创建的与第一个代码块相同的函数,试图用新数据刷新变量。 这显然是我出错的地方,(尽量不要笑)但我在这里没有想法。有人能解释一下吗?

【问题讨论】:

    标签: javascript php jquery sql ajax


    【解决方案1】:

    您的 ajax 调用是错误的。 'data' 值是您发送到服务器的值。

    试试这个:

    $.ajax({ 
        type: 'POST', 
        url: 'wp-content/plugins/editable-grids-api-liam/regenOwnerArr.php', 
        success: function(data) {
            listRefresh(data);
            alert("this succeeded?"); 
        } 
    });
    

    数据变量是服务器返回给您的,因此您可以将该数据传递给 listRefresh() 函数并重新渲染更新后的列表。

    或者,您可以重新加载页面,将location.reload(); 放入成功函数中

    【讨论】:

    • 谢谢!老实说,我根本不认为传递函数调用会起作用,但这是可行的:)
    猜你喜欢
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 2021-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多