阿贾克斯推动'通过

时间:2015-08-07 08:41:59

标签: javascript php jquery mysql ajax

我创建了一个本地应用程序,它使用ajax从SQL数据库调用结果。

系统运行良好,但是如果使用'然后系统失败,我得到以下错误"注意:数组到字符串转换..."

这是我的Javascript,它调用ajax并将结果推送到我的HTML页面上的div。

有没有办法可以解析'我的代码如下?

$('input#prodsearch').keypress(function(e) {
    var key = e.which;
    if (key == 13) { // the enter key
        var name = $('input#prodsearch').val();
        if ($.trim(name) != '') {
            $.post('assets/ajax/prodsearch.php', { prodsearch: name }, function(data) {
                $('#stockresults').html(data)
            });
        }
    }
});

继承我的php减去输出结果行的while语句。

if (isset($_POST['prodsearch']) === true && empty($_POST['prodsearch']) === false) {

    $query = "SELECT     STKCODE, STKNAME
FROM         dbo.STOCK
WHERE    (STKNAME LIKE '%" . $_POST['prodsearch'] . "%' OR STKCODE LIKE '" . $_POST['prodsearch'] . "%')
order by STKCODE ASC";  

};

1 个答案:

答案 0 :(得分:0)

理想情况下,您希望对通过AJAX发送的字符串进行编码。

更改此行:

$.post('assets/ajax/prodsearch.php', { prodsearch: name }, function(data) {

到此:

$.post('assets/ajax/prodsearch.php', { prodsearch: encodeURIComponent(name) }, function(data) {

More info on W3Schools