Javascript 使用laravel 4显示json到html表
好的,我正在尝试将我的json数据显示到我的html表中。我在网上尝试了很多解决方案,但最终还是一无所获。我对这个所谓的MVC框架、json和jquery也很陌生。不过我用的是拉威尔 我从服务器获取这个JSON字符串作为响应Javascript 使用laravel 4显示json到html表,javascript,jquery,html,json,laravel-4,Javascript,Jquery,Html,Json,Laravel 4,好的,我正在尝试将我的json数据显示到我的html表中。我在网上尝试了很多解决方案,但最终还是一无所获。我对这个所谓的MVC框架、json和jquery也很陌生。不过我用的是拉威尔 我从服务器获取这个JSON字符串作为响应 [{"CUSTNAME":"RUSTANS SUPERCENTER, INC. - CDO ","SOPNUMBE":"STDINV710342 ","REFRENCE":"fac00110658A ","DOCDATE":"2014-07-31 00:00:00.000"
[{"CUSTNAME":"RUSTANS SUPERCENTER, INC. - CDO ","SOPNUMBE":"STDINV710342 ","REFRENCE":"fac00110658A ","DOCDATE":"2014-07-31 00:00:00.000","DOCAMNT":"2400.00000","sopcustname":"RUSTANS SUPERCENTER, INC. - CDO ","curtrxam":".00000","TXTFIELD":"08\/07\/14 \r08\/07\/14\r08\/20\/14"}]
这是我的控制器代码
这是我的js
$('#myidfirst').submit(function(e){
e.preventDefault();
var mydata = $('#myidfirst').serialize();
$.ajax({
type: "POST",
url: "http://localhost:8080/mytestproject2/public/FilterData",
dataType: "JSON",
data: mydata,
success: function(data) {
if(data){
var len = data.length;
var txt = "";
if(len > 0){
for(var i=0;i<len;i++){
if(data[i].CUSTNAME && data[i].SOPNUMBE && data[i].REFRENCE && data[i].DOCDATE && data[i].DOCAMNT && data[i].sopcustname && data[i].curtrxam && data[i].TXTFIELD){
txt += "<tr><td>"+data[i].CUSTNAME+"</td><td>"+data[i].SOPNUMBE+"</td><td>"+data[i].DOCDATE+"</td><td>"+data[i].DOCAMNT+"</td><td>"+data[i].sopcustname+"</td><td>"+data[i].curtrxam+"</td><td>"+data[i].TXTFIELD+"</td></tr>";
}
}
if(txt != ""){
$("#testing").append(txt);
}
}
}
},
error: function(jqXHR, textStatus, errorThrown){
alert('error: ' + textStatus + ': ' + errorThrown);
}
});
return false;
});
我只想知道我在这件事上遗漏了什么
向大家致意:嗯,你已经把localhost链接。除非我们完全克隆您的服务器设置,否则这对除您之外的任何人都不起作用。还有,你说,但每当我运行它,我总是得到这个输出。。。什么输出?由于我们无法调试这个应用程序,它将有助于提供一些结果,例如,当这个代码运行时会发生什么,您是否收到任何js错误,表中是否出现任何内容等。好的,是的,只有我,因为我仍在开发这个项目。这是我所说的输出[{CUSTNAME:RUSTANS SUPERCENTER,INC.-CDO,sopname:STDINV710342,reference:fac00110658A,DOCDATE:2014-07-31 00:00:00.000,DOCAMNT:2400.00000,sopcustname:RUSTANS SUPERCENTER,INC.-CDO,curtrxam:.00000,TXTFIELD:08\/07\/14\r08\/07\/14\/20\/14}],它只会输出这些数据,这不是我想要的。它应该显示在我的html表格中。你应该编辑你的问题并正确地组织它,将输出向上移动,使你的文本更有意义。还有,这是从哪里来的?您的success函数中似乎没有任何console.log或警报。我打赌你会出现一个js错误,因为你的函数得到了一个参数响应,你在if和for中使用了未定义的数据。哦,谢谢,我会这么做的。对不起,参数应该是数据不响应,我只是更改它。但同样的结果显示。我对console.log还不太熟悉,因为我刚刚转到了web开发。我不知道您还知道哪些编程语言可以给您提供类比,但console.log是一个将文本输出到web开发控制台的命令。尝试放置console.logdata;作为success函数的第一行,打开webdeveloper控制台,看看输出是什么。
$('#myidfirst').submit(function(e){
e.preventDefault();
var mydata = $('#myidfirst').serialize();
$.ajax({
type: "POST",
url: "http://localhost:8080/mytestproject2/public/FilterData",
dataType: "JSON",
data: mydata,
success: function(data) {
if(data){
var len = data.length;
var txt = "";
if(len > 0){
for(var i=0;i<len;i++){
if(data[i].CUSTNAME && data[i].SOPNUMBE && data[i].REFRENCE && data[i].DOCDATE && data[i].DOCAMNT && data[i].sopcustname && data[i].curtrxam && data[i].TXTFIELD){
txt += "<tr><td>"+data[i].CUSTNAME+"</td><td>"+data[i].SOPNUMBE+"</td><td>"+data[i].DOCDATE+"</td><td>"+data[i].DOCAMNT+"</td><td>"+data[i].sopcustname+"</td><td>"+data[i].curtrxam+"</td><td>"+data[i].TXTFIELD+"</td></tr>";
}
}
if(txt != ""){
$("#testing").append(txt);
}
}
}
},
error: function(jqXHR, textStatus, errorThrown){
alert('error: ' + textStatus + ': ' + errorThrown);
}
});
return false;
});