使用JSON将多个数组从PHP传递到AJAX和JQuery自动完成
现在,我正试图用JSON将多个数组传递给我的AJAX函数,以便在搜索建议中显示它。然而,每当我试图传递它时,JSON总是解析我的数据,这样关键字/搜索词就会出现在JSON之前,所以解析总是失败的。如何删除此关键字? 如果只发送了一个变量,解析就成功了,所以我假设问题在于如何传递数组,但我不知道为什么。我用的是Codeigniter使用JSON将多个数组从PHP传递到AJAX和JQuery自动完成,php,json,ajax,autocomplete,Php,Json,Ajax,Autocomplete,现在,我正试图用JSON将多个数组传递给我的AJAX函数,以便在搜索建议中显示它。然而,每当我试图传递它时,JSON总是解析我的数据,这样关键字/搜索词就会出现在JSON之前,所以解析总是失败的。如何删除此关键字? 如果只发送了一个变量,解析就成功了,所以我假设问题在于如何传递数组,但我不知道为什么。我用的是Codeigniter var caridata=$("#searchterm").val(); $("#searchterm").autocomplete({ source: funct
var caridata=$("#searchterm").val();
$("#searchterm").autocomplete({
source: function( request, response ) {
$.ajax({
url:"<?php echo site_url('bla');?>",
type:"GET",
data:"searchterm="+searchterm,
dataType : 'json',
cache:false,
success: function( data ) {
var tindakan = data[0];
var nama_jns_barang = data[1];
if(data!=null) {
if (tindakan!=null) {
response(tindakan);
}
else if (nama_jns_barang!=null) {
response(nama_jns_barang);
}
}
else {
//
}
}, // end of success
error: function(jqXHR, textStatus, errorThrown) {
alert(errorThrown);
} //end of error
}) // end of ajax
}, // end of source
minLength: 2,
select: function( event, ui ) {
$("#caridata").val(ui.item.id);
} // end of select
}); // end of autocomplete
谢谢你抽出时间
var caridata=$("#searchterm").val();
$("#searchterm").autocomplete({
source: function( request, response ) {
$.ajax({
url:"<?php echo site_url('bla');?>",
type:"GET",
data:"searchterm="+searchterm,
dataType : 'json',
cache:false,
success: function( data ) {
var tindakan = data[0];
var nama_jns_barang = data[1];
if(data!=null) {
if (tindakan!=null) {
response(tindakan);
}
else if (nama_jns_barang!=null) {
response(nama_jns_barang);
}
}
else {
//
}
}, // end of success
error: function(jqXHR, textStatus, errorThrown) {
alert(errorThrown);
} //end of error
}) // end of ajax
}, // end of source
minLength: 2,
select: function( event, ui ) {
$("#caridata").val(ui.item.id);
} // end of select
}); // end of autocomplete
HTML:
var caridata=$("#searchterm").val();
$("#searchterm").autocomplete({
source: function( request, response ) {
$.ajax({
url:"<?php echo site_url('bla');?>",
type:"GET",
data:"searchterm="+searchterm,
dataType : 'json',
cache:false,
success: function( data ) {
var tindakan = data[0];
var nama_jns_barang = data[1];
if(data!=null) {
if (tindakan!=null) {
response(tindakan);
}
else if (nama_jns_barang!=null) {
response(nama_jns_barang);
}
}
else {
//
}
}, // end of success
error: function(jqXHR, textStatus, errorThrown) {
alert(errorThrown);
} //end of error
}) // end of ajax
}, // end of source
minLength: 2,
select: function( event, ui ) {
$("#caridata").val(ui.item.id);
} // end of select
}); // end of autocomplete
PHP(模型):
var caridata=$("#searchterm").val();
$("#searchterm").autocomplete({
source: function( request, response ) {
$.ajax({
url:"<?php echo site_url('bla');?>",
type:"GET",
data:"searchterm="+searchterm,
dataType : 'json',
cache:false,
success: function( data ) {
var tindakan = data[0];
var nama_jns_barang = data[1];
if(data!=null) {
if (tindakan!=null) {
response(tindakan);
}
else if (nama_jns_barang!=null) {
response(nama_jns_barang);
}
}
else {
//
}
}, // end of success
error: function(jqXHR, textStatus, errorThrown) {
alert(errorThrown);
} //end of error
}) // end of ajax
}, // end of source
minLength: 2,
select: function( event, ui ) {
$("#caridata").val(ui.item.id);
} // end of select
}); // end of autocomplete
Javascript:
var caridata=$("#searchterm").val();
$("#searchterm").autocomplete({
source: function( request, response ) {
$.ajax({
url:"<?php echo site_url('bla');?>",
type:"GET",
data:"searchterm="+searchterm,
dataType : 'json',
cache:false,
success: function( data ) {
var tindakan = data[0];
var nama_jns_barang = data[1];
if(data!=null) {
if (tindakan!=null) {
response(tindakan);
}
else if (nama_jns_barang!=null) {
response(nama_jns_barang);
}
}
else {
//
}
}, // end of success
error: function(jqXHR, textStatus, errorThrown) {
alert(errorThrown);
} //end of error
}) // end of ajax
}, // end of source
minLength: 2,
select: function( event, ui ) {
$("#caridata").val(ui.item.id);
} // end of select
}); // end of autocomplete
var caridata=$(“#搜索词”).val();
$(“#搜索项”).autocomplete({
来源:功能(请求、响应){
$.ajax({
url:“”,
键入:“获取”,
数据:“searchterm=“+searchterm,
数据类型:“json”,
cache:false,
成功:功能(数据){
var tindakan=数据[0];
var nama_jns_barang=数据[1];
如果(数据!=null){
if(tindakan!=null){
答复(廷达坎);
}
else if(nama_jns_barang!=null){
回应(nama_jns_barang);
}
}
否则{
//
}
},//成功的终点
错误:函数(jqXHR、textStatus、errorshown){
警报(错误抛出);
}//错误结束
})//ajax的结束
},//源的结尾
最小长度:2,
选择:功能(事件、用户界面){
$(“#caridata”).val(ui.item.id);
}//选择结束
}); // 自动完成结束
我还没有弄清楚如何传递多个数组,所以现在我只是将控制器中的搜索函数分组为一个函数,并将数据加载到一个数组中。现在它成功了,但我仍在寻找答案
var caridata=$("#searchterm").val();
$("#searchterm").autocomplete({
source: function( request, response ) {
$.ajax({
url:"<?php echo site_url('bla');?>",
type:"GET",
data:"searchterm="+searchterm,
dataType : 'json',
cache:false,
success: function( data ) {
var tindakan = data[0];
var nama_jns_barang = data[1];
if(data!=null) {
if (tindakan!=null) {
response(tindakan);
}
else if (nama_jns_barang!=null) {
response(nama_jns_barang);
}
}
else {
//
}
}, // end of success
error: function(jqXHR, textStatus, errorThrown) {
alert(errorThrown);
} //end of error
}) // end of ajax
}, // end of source
minLength: 2,
select: function( event, ui ) {
$("#caridata").val(ui.item.id);
} // end of select
}); // end of autocomplete