2016-03-14 68 views
1

球员我知道它的虚拟问题,但我花了几个小时在这个和无法达到..我想通过在另一个JS文件中的AJAX调用JSON数组传递给JSP。它给了我一个404错误。任何帮助,将不胜感激。这里是我的代码:传递json数组到Ajax调用Javascript

function GridLibrary(fileName) { 
    this.fileName = fileName; 
} 

GridLibrary.prototype = { 
    setFileName : function(fileName) { 
     this.fileName = fileName; 
    }, 
    getFileName : function() { 
     return this.fileName; 
    } 
}; 

GridLibrary.prototype.display = function() { 
    $.ajax({ 
     url : this.getFileName(), 
     dataType: "json", 
     error : function(that, e) { 
      console.log(e); 
     }, 
     success : function(data) { 
      alert("found"); 
     } 
    }); 
}; 
var Json = [{ 
    "id": 1, 
    "name": "name1", 
    "age" : 10, 
    "feedback": "feedback1" 
}, { 
    "id": 2, 
    "name": "name2", 
    "age" : 90, 
    "feedback": "feedback2" 
}, { 
    "id": 3, 
    "name": "name3", 
    "age" : 30, 
    "feedback": "feedback3" 
}, { 
    "id": 4, 
    "name": "name4", 
    "age" : 50, 
    "feedback": "feedback4" 
}]; 

new GridLibrary(Json).display(); 
+0

什么'data'传入构造?你应该从ajax中移除'()':'url:this.getFileName,' – Jai

+0

数据数组..'如下所示 –

+0

是不是'data'应该是'Json'?然后在ajax中将数据作为“url”添加是没有意义的。 – Jai

回答

1

你需要有一个有效的URL将值发送给后端:

function GridLibrary(url, data) { 
    this.url = url; 
    this.data = data; 
} 

GridLibrary.prototype = { 
    setData: function(data) { 
    this.data = data; 
    }, 
    getData: function() { 
    return this.data; 
    }, 
    setUrl:function(url){ this.url = url; }, 
    getUrl:function(){ return this.url; }, 

    display : function() { 
    $.ajax({ 
     url: this.getUrl, // <----the url where you want to send the data 
     data:this.getData, //<----should be the array data 
     dataType: "json", 
     contentType:"application/json", // <----add this contentType 
     error: function(that, e) { 
     console.log(e); 
     }, 
     success: function(data) { 
     alert("found"); 
     } 
    }); 
    } 
}; 

var url = '/url/to/send', 
    data = [{}....]; 

new GridLibrary(url, data).display(); 
+0

解析错误apppears :) –

+0

哪行@mmmm?这没有帮助。可能是你应该添加'contentType:“application/json”'到ajax。 – Jai

+0

@MichaelGeary对此解析错误没有其他建议? –