remotejsonp.html 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Remote JSONP - jQuery EasyUI Demo</title>
  6. <link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css">
  7. <link rel="stylesheet" type="text/css" href="../../themes/icon.css">
  8. <link rel="stylesheet" type="text/css" href="../demo.css">
  9. <script type="text/javascript" src="../../jquery.min.js"></script>
  10. <script type="text/javascript" src="../../jquery.easyui.min.js"></script>
  11. </head>
  12. <body>
  13. <h2>Remote JSONP</h2>
  14. <div class="demo-info" style="margin-bottom:10px">
  15. <div class="demo-tip icon-tip"></div>
  16. <div>This sample shows how to use JSONP to retrieve data from a remote site.</div>
  17. </div>
  18. <input class="easyui-combobox" style="width:250px" data-options="
  19. loader: myloader,
  20. mode: 'remote',
  21. valueField: 'id',
  22. textField: 'name'
  23. ">
  24. <script>
  25. var myloader = function(param,success,error){
  26. var q = param.q || '';
  27. if (q.length <= 1){return false}
  28. $.ajax({
  29. url: 'http://ws.geonames.org/searchJSON',
  30. dataType: 'jsonp',
  31. data: {
  32. featureClass: "P",
  33. style: "full",
  34. maxRows: 20,
  35. name_startsWith: q
  36. },
  37. success: function(data){
  38. var items = $.map(data.geonames, function(item){
  39. return {
  40. id: item.geonameId,
  41. name: item.name + (item.adminName1 ? ', ' + item.adminName1 : '') + ', ' + item.countryName
  42. };
  43. });
  44. success(items);
  45. },
  46. error: function(){
  47. error.apply(this, arguments);
  48. }
  49. });
  50. }
  51. </script>
  52. </body>
  53. </html>