2017-10-12 201 views
0

Ajax将数据发送给控制器。方法使用该按钮点击后的数据。我metod有model.addatribute.Alert后null值为什么?model.addAttribute不适用于jQuery?

我的控制器

@RequestMapping(value = "index",method =RequestMethod.POST) 

@ResponseBody 公共列表字段(@RequestParam( “TNAME”)字符串的名称,@ RequestParam( “DNAME”)字符串DNAME,型号model){ 字符串TN =名; String dn = dname; List coname = new ArrayList <>(); 尝试连接mycon2 = DriverManager.getConnection(“jdbc:mysql:// localhost:3306”,“root”,“1996”); DatabaseMetaData metaData2 = mycon2.getMetaData(); ResultSet res4 = metaData2.getColumns(dn,null,tn,“%”); coname = new ArrayList <>(); (res4.next()){ String column_name = res4.getString(“COLUMN_NAME”); coname.add(column_name); }

 } 
     catch (Exception e) { 
      // TODO: handle exception 
      e.printStackTrace(); 
     } 
return coname; 
    } 

指数HTML

<div id="RightPanel" style="width: 200; height: 100%; float: right;"> 
      <table class="table table-striped"> 
       <input type='text' id='tablehead' /> 
       <tr> 
        <th>Column name</th> 
       </tr> 
       <tr th:each="name : ${cname}"> 
        <td> th:text="${name}"</td> 
       </tr> 
      </table> 
     </div> 

的JavaScript在索引HTML

<script th:inline="javascript"> 

    function onclk(a,b) { 
     var search = { 
      "tName" : a, 
      "dName" :b 
     } 
     $.ajax({ 
     type: "POST", 
     url: "http://localhost:8092/index", 
     data: search, 
     dataType: "json", 
     success: function (data) { 
      var modelAttributeValue = [[${coname}]]; 
      alert(modelAttributeValue); }, 
     error: function(){ 
      alert('got error'); 
     } 
    }); 
+0

AFAIK这种标记的''只在主页面loa时运行DS。它不是在ajax调用的情况下执行的。您的ajax调用将根据我所看到的您的操作方法,简单地返回一个字符串“index”(作为“返回”索引“;”的结果)。如果您将其重新定义为'success:function(data){alert(data);},则会在您的'success:function(){}'回调中收到。 }然后警报应该显示“索引”,一旦ajax调用完成(假设它没有失败)。我认为你需要增加对ajax工作原理的基本理解。 – ADyson

回答

0

尝试这种情况:

<script type="text/javascript" th:inline="javascript"> 
    /*<![CDATA[*/ 
    function onclk(a,b) { 
     var search = { 
      "tName" : a, 
      "dName" :b 
     } 
     $.ajax({ 
     type: "POST", 
     url: "http://localhost:8092/index", 
     data: search, 
     dataType: "json", 
     success: function (data) { 
      var modelAttributeValue = [[${coname}]]; 
      alert(modelAttributeValue); }, 
     error: function(){ 
      alert('got error'); 
     } 
    }); 
    /*]]>*/ 
</script> 
相关问题