【问题标题】:How to implement a callback with phonegap如何使用phonegap实现回调
【发布时间】:2010-11-15 20:36:53
【问题描述】:

在 iPhone 上使用 phonegap 进行一些测试;我有一个像这样返回简单 json 数据的插件:

NSString* retStr = [[NSString alloc] 
  initWithFormat:@"%@({ code: '%@', image: '%@' });", 
  resultText.text,resultImage.image];                       

[ webView stringByEvaluatingJavaScriptFromString:retStr ];  

还有我来自 JS 的电话:

var mydata = PhoneGap.exec("MyModile.myFunction", 'mycallback'); 

function mycallback (data) { alert (data); }

返回时不会产生任何东西。

有什么想法吗?

【问题讨论】:

    标签: iphone cocoa-touch cordova


    【解决方案1】:
    // get the callback from the arguments
    NSString * jsCallback = [arguments objectAtIndex:0];
    
    // create the string
    NSString* retStr = [[NSString alloc] 
        initWithFormat:@"%@({ code: '%@', image: '%@' });", 
                                    jsCallback,resultText.text,resultImage.image];  
    
    //execute
    [ webView stringByEvaluatingJavaScriptFromString:retStr ]; 
    

    【讨论】:

    • 谢谢,现在我得到一个未声明的“参数”(我承认这个问题很愚蠢,但从未做过一行 C 代码)
    【解决方案2】:

    作为对您对 Aaron Saunders 评论的回复:

    看看这个维基:http://wiki.phonegap.com/w/page/36753496/How%20to%20Create%20a%20PhoneGap%20Plugin%20for%20iOS

    您的本机插件方法应该有一个名为 arguments 的参数,该参数由调用 cordova.exec 函数“填充”。

    【讨论】:

      猜你喜欢
      • 2012-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多