【问题标题】:pass variables $.ajax call传递变量 $.ajax 调用
【发布时间】:2014-10-15 15:38:11
【问题描述】:

我想将 js 变量传递给 $.ajax 函数,例如:

function myCall(elm) {
    var table = $('#realtime').dataTable(); 
    var extension = $(elm).closest("tr").find('td.extension').text();
    var agent = $(elm).closest("tr").find('td.name').text();
    alert(extension);

    $.ajax("/cura/pages/realtime/test.php/",{
        type: "GET",
        data:   {action:'agentpause',pauselocation: extension,queue: 'testq',paused: 'true'}            
    });
}

只有扩展是一个变量,其余是硬编码的。 然后它不起作用。如果我硬编码扩展变量的值,则 $.ajax 调用成功。 传递扩展变量有什么问题?

【问题讨论】:

  • 这看起来不错。什么 alert(extension);告诉你?如果您将其替换为 console.log(extension) - 那么控制台中会出现什么?控制台是否还有其他错误?
  • alert(extension) 按原样显示变量的值,例如:sip/1600。 console.log(extension),然后什么也看不到。
  • 你怎么知道调用不成功?什么确切地“不起作用”?
  • /cura/pages/realtime/test.php/ 脚本不执行。当我在 $.ajax 调用中硬编码扩展值时,/cura/pages/realtime/test.php/ 脚本在单击按钮时起作用。
  • 只是文本,例如:sip/1600。你是这个意思吗?

标签: javascript jquery ajax call


【解决方案1】:

在表格中的变量值前面添加了一个空格。 使用 trim() 删除 $.ajax 函数中的空白,如:

(extension.trim())

现在 $.ajax 调用成功了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-03
    • 2016-08-31
    • 2014-01-24
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    相关资源
    最近更新 更多