我正在尝试截断从我的数据库中检索到的书名以打印在条形码标签上。我无法从查询中截断它,因为我需要整个标题出现在同一页面上的表中。这是我所拥有的:
$.ajax({
type: "POST",
url: "advanceProcess.php",
dataType: "json",
data: ({sourceID: $('#sourceID').val(), fromDate: $('#fromDate').val(), toDate: $('#toDate').val()}),
success: function(data){
if(data.isbn == null ){
$("#acctRecords").append('<tr><td>No Records Found</td></tr>');
}else{
//append general data
for(var x=0;x<data.isbn.length;x++)
{
$("#acctRecords").append('<tr><td id="tableSKU">'+data.tempsku[x]+
'</td><td id="tableISBN">'+data.isbn[x]+
'</td><td id="tableTitle">'+data.title[x]+
'</td><td id="tableOrderid">'+data.orderId[x]+
'</td><td id="tableQtyBought">'+data.quantity[x]+
'</td><td id="tableCost">'+data.cost[x]+
'</td><td id="tabledateCreated">'+data.dateCreated[x]+
'</td><td id="tableWeight">'+data.weight[x]+
'</td><td id="tableCheckNumber">'+data.checkNumber[x]+'</td></tr>');
}// end of for loop
//refreshes the tablesorter plugin
$("#acctRecords").trigger("update");
//Print the bar codes
sku = data.tempsku;
title = data.title[x];
//console.log(JSON.stringify(data));
title = title.substr(0,16);
var x=0;
for (x=0;x<title.length;x++)
{
first += '$("#'+indexGlobal+'").barcode("'+sku[x]+'", "codabar",{barHeight:40, fontSize:30, output:"bmp"});';
second += '<div class="wrapper"><img src="../images/temp.jpg" /><div id="'+indexGlobal+
'"></div><div class="fullSKU">      '+sku[x]+'</div><br/><div class="title">'+title[x]+
'</div></div><br/><div class="page-break"></div>';
indexGlobal++;
}
一切正常,除了标题太长。目前我收到一条错误消息:TypeError: title.substr is not a function。我在这里和谷歌上做了一些研究,看来我的代码是正确的。有任何想法吗?
编辑:这是 JSON 的结果:
"title":["Understanding and Applying Medical Anthropology","The Ethical Chemist : Professionalism and Ethics in Science","Magic, Witchcraft, and Religion: A Reader in the Anthropology of Religion","Principles of Cancer Biology","AIDS and Accusation: Haiti and the Geography of Blame","In Search of Respect: Selling Crack in El Barrio (Structural Analysis in the Social Sciences)"]
编辑 2:我更新了脚本以显示整个 ajax 调用以及如何返回结果。