2012-03-13 55 views
0

我有以下代码:它返回未捕获的语法错误:。如果我删除dataType我没有得到任何错误,但我也没有数据?未捕获的语法错误:

function myfunc() { 
    var value = $("#firstselect").val(); 
    $.get("contactlist.php", 
      {SEARCH_PARAM: value }, 
      dataType: "json", 
      function(data) { 
       var options = '<option value="">Select one...</option>'; 
       for(var i = 0; i < data.length; i++) { 
        options += '<option value="' + data[i].id +'">'+data[i].name+'</option>'; 
       } 
       $("#secondselect").html(options); 
      } 
    ); 
} 
+1

这意味着您的服务器没有返回JSON。 – SLaks 2012-03-13 20:20:20

+0

你试过'$ .getJSON()'而不是'$ .get()'吗? – 2012-03-13 20:22:18

+0

你尝试过添加contextType:'text/plain; charset = UTF-8'。 – Qpirate 2012-03-13 20:24:09

回答

6

您的成功,函数需要来数据类型之前,数据类型应该只是一个字符串,而不是一个命名的值:

function myfunc() { 
    var value = $("#firstselect").val(); 
    $.get("contactlist.php", 
    {SEARCH_PARAM: value }, 
    function(data) { 
     var options = '<option value="">Select one...</option>'; 
     for(var i = 0; i < data.length; i++) { 
     options += '<option value="' + data[i].id +'">'+data[i].name+'</option>'; 
     } 
     $("#secondselect").html(options); 
    }, 
    "json" 
); 

} 
+0

+1引用在这里http://api.jquery.com/jQuery.get/ – 2012-03-13 20:25:17

+0

OP正试图将'$ .ajax()'和'$ .get()'与他/她使用的方式混合键/值对作为参数。确保在使用之前阅读关于功能的文档... – Jasper 2012-03-13 20:26:11

+0

+1你快Brian! – StilgarBF 2012-03-13 20:27:20

0

你有一个错误的顺序的参数。 数据类型必须是最后

尝试:

function myfunc() { 
var value = $("#firstselect").val(); 
$.get("contactlist.php", 
     {SEARCH_PARAM: value } 
     function(data) { 
      var options = '<option value="">Select one...</option>'; 
      for(var i = 0; i < data.length; i++) { 
       options += '<option value="' + data[i].id +'">'+data[i].name+'</option>'; 
      } 
      $("#secondselect").html(options); 
     }, 
     "json" 
); 
} 
相关问题