【发布时间】:2018-04-21 23:47:36
【问题描述】:
我已经被这个问题困扰了一段时间。我想在我的 ajax 调用中传递 2 个参数(一个表单的 2 个输入字段的值)以用于 jquery 自动完成(搜索基于使用 input1 和 input2 的值的 mysql 查询)。我有一些建议,但到目前为止我还没有运气: 这里我的 ajax 调用试图传递 2 个参数 input1 和 input2。没有显示代码错误,但自动完成功能不起作用。如果我只使用一个参数,它就可以工作。
function fillbox2(){
$('#input2').autocomplete({
source: function(request, response ){
var frmStr={
input1:$('#input1').val(),
input2:$('#input2').val()
requestTerm: request.term
};
$.ajax({
url: './cgi_temp3.cgi',
dataType: 'json',
data:{data: frmStr},
contentType: "application/json; charset=utf-8",
success: function (data) {
response ($.map( data.matches, function(item){
return {
value: item.info2,
}
}));
}
});
},
minLength: 2,
select: function(event, ui){
$("#prod_term").val(ui.item.value);
return false;
}
});
这里是我处理 MYSQL 查询的 cgi 脚本
#!/usr/local/bin/python3
import cgi, json
import os
import mysql.connector
def main():
print("Content-Type: application/json\n\n")
form = cgi.FieldStorage()
term2 = form.getvalue('input2')
term1=form.getvalue('input1')
conn = mysql.connector.connect(user='***', password='***', host='localhost', database='***')
cursor = conn.cursor()
qry = """
SELECT name2, info2
FROM table2
join table1 ON
info2_id=information2_id
WHERE name2 LIKE %s AND info2_id=%s
"""
cursor.execute(qry, ('%' + term2 + '%',term1))
问题可能出在哪里?
【问题讨论】:
标签: javascript jquery ajax user-interface autocomplete