【问题标题】:jQuery-UI dialog $.ajax POST fails due to jQuery "Could not convert JavaScript argument"由于 jQuery“无法转换 JavaScript 参数”,jQuery-UI 对话框 $.ajax POST 失败
【发布时间】:2011-10-10 03:38:19
【问题描述】:

我正在使用 jQuery-UI 对话框,并尝试在单击对话框的发送按钮后通过 AJAX 在对话框表单中发送数据。 $('').submit()$('').load(url) 方法对我来说都是“工作”的,因为对话框表单提交/url 已加载。但是,当我尝试向加载方法添加一些发布数据时,比如一些表单输入,我在萤火虫控制台中收到错误消息,指出 jQuery 库“无法转换 JavaScript 参数”。

这是我的代码还不能工作:

$(function(){
  $( "#form" ).dialog({
    buttons: {
      "Send": function() {
        var url = "/messages/add";                          
        var message=$('#message').val();                

        $('#main_content').load(url, { message:message } );     
        $( this ).dialog( "close" );
      }             
    }
  });

  $( "#open_dialog_button" ).click(function() {
    $( "#form" ).dialog( "open" );                  
  }); 
}); 

在我看来问题出在“消息”上,因为如果我不包含 {message:message} 参数,“url”将加载到“main_content”Div 中。

如果有人可能需要帮助提交此帖子数据,我将不胜感激,

【问题讨论】:

  • 元素#message 是否具有“值”属性,它是否在文档准备就绪时可用?另外,看起来您的点击绑定函数正在绑定到由对话框选项创建的按钮,并且已经绑定了一个函数?
  • 嗨,格雷格,是的,#message 输入有一个值属性,我编辑了我的问题,以更清楚地表明对话框(打开)绑定到一个唯一的按钮。仍然收到错误消息,但感谢您的 cmets! -蒂姆
  • 我认为你需要 $('#main_content').load(url, { "message":message } );
  • 嗨 lihoeye,我看到了您提供的链接,但无法根据我的情况调整那里所说的内容,您能提供一些指导吗?谢谢你,-蒂姆

标签: jquery ajax jquery-ui post dialog


【解决方案1】:

我解决了这个问题,我错误地识别了我没有提到的其他键值对之一(除了 {message:message}),现在它可以工作了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-22
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    相关资源
    最近更新 更多