无法使用javascript在Phonegap中查找变量

当我在浏览器上运行这个程序我得到的响应失败,但在Android手机中运行这我得到参考错误找不到变量数据 。 代码也完美适用于模拟器。 帮我

     function getResponse(){ var url = "http://www.apexweb.co.in/apex_quote/phone_gap/uname_validation.asp?un=9999999999&pwd=123456789&callback=your_callback"; var head= document.getElementsByTagName('head')[0]; var script= document.createElement('script'); script.type= 'text/javascript'; script.src= url; head.appendChild(script); your_callback(data); //here i am getting reference error, can't find variable data } function your_callback(data){ var st = data.status; alert(st); }       

我从你的代码中理解的是我在其中添加了一些代码,请查看下面的答案:

我还添加了数据变量声明并从中获取值。

  

确保你已将html文件放在assest / www文件夹和此代码中:

通过使用Web视图,您可以使用java脚本和html页面。

 public class MainActivity extends Activity { WebView webView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView)findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); webView.setWebChromeClient(new WebChromeClient()); webView.loadUrl("file:///android_asset/www/index.html"); // webView.loadUrl("WebAppDemo/assets/www/index.html"); } } 

您的url变量的值应与JSONP [1]调用一起使用。 有独立的帮助库[2]或Jquery选项[3]。 您应该使用其中一个,因为您不必手动使用所有JSONP机制。

我还注意到你包括phonegap.js和cordova.js。 你应该删除第一个。 它真的很古老。

[1] http://en.wikipedia.org/wiki/JSONP

[2] http://pastebin.com/ADxHdCnB

[3] http://api.jquery.com/jQuery.getJSON/