Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正在解析On Keyup值。如何在jQuery自动完成中设置这些值?_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Javascript 正在解析On Keyup值。如何在jQuery自动完成中设置这些值?

Javascript 正在解析On Keyup值。如何在jQuery自动完成中设置这些值?,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我正在通过以下链接从其api检索Bing值: 现在,当我在keyup上解析结果并将它们附加到主体中时,它可以工作,但当我在jQuery的autocomplete上设置结果时,它不能工作 以下是一个例子: 注意:在小提琴中,我还包括了雅虎的自动建议,它使用了相同的方法,这样我就可以证明它应该有效 我做错了什么如何使Bing的结果显示在jQuery的autocomplete()上?是小提琴的一个工作版本 有两个关键变化: 我在“keyup”版本中设置了URL和参数。修正了505 您在“成功”处理程

我正在通过以下链接从其api检索Bing值:

现在,当我在keyup上解析结果并将它们附加到主体中时,它可以工作,但当我在jQuery的autocomplete上设置结果时,它不能工作

以下是一个例子:

注意:在小提琴中,我还包括了雅虎的自动建议,它使用了相同的方法,这样我就可以证明它应该有效

我做错了什么如何使Bing的结果显示在jQuery的autocomplete()上?

是小提琴的一个工作版本

有两个关键变化:

  • 我在“keyup”版本中设置了URL和参数。修正了505
  • 您在“成功”处理程序中引用的是“val.key”,而不是“keyup”代码中的“val.Text”
  • 因此:


    (如果愿意,可以调用“console.log()”:-)

    您看过开发人员控制台了吗?这里面有很多错误,是我犯的。有一个错误:“HTTP版本不受支持”,其中在keyUp上支持它?另外,我尝试了不同的方法将keyup版本设置为自动完成,但仍然没有结果还有无法读取的属性length我在chrome开发工具中没有获得该属性。代码有什么问题吗?还是不可能将这些解析的项目设置为自动完成?@Esailija我在Firebug中没有看到任何错误。然而,我确实看到了505错误。当使用jQuery编码时,HTTP请求参数看起来非常不同(即,当作为“数据”对象传入时,如在自动完成“源”处理程序中而不是在URL中)我被
    9 jquery-1.7.1.js:630uncaughttypeerror:无法读取未定义的属性“length”
    我在Firefox 7上的google chrome上,我得到:
    [17:13:27.046]对象未定义@http://code.jquery.com/jquery-1.7.1.js:630
    它在Linux上的Firefox 8中运行良好;我一点错误都没有。你可以想象我花了多长时间,先生。对于我来说,它在所有浏览器上都能完美工作。如果字段为空,我会在键控中找到它;只是需要检查一下。然而,当它不是空的时候,它看起来很好。@Pointy,我只是打开控制台,一次写一个键“asdasd”,每个键都有错误..://*firefox7中的耸肩*和第12版的chrome小提琴
    $("#bing_auto").autocomplete({
        source: function (request, response) {
            console.log("source");
            $.ajax({
                url: "http://api.bing.net/qson.aspx?Query=" + encodeURIComponent(request.term) + "&JsonType=callback&JsonCallback=?",
                dataType: "jsonp",
                /*data: {
                    "Query": request.term,
                    "JsonType": "callback",
                    "JsonCallback" : "?"
                },*/
    
    
                success: function (data) {
                    console.log("success!");
                    var suggestions = [];
                    $.each(data.SearchSuggestion.Section, function (i, val) {
                        console.log("suggestion: " + val.Text);
                        suggestions.push(val.Text);
                    });
                    response(suggestions);
    
                }
            });
        }
    });