目标c-我可以将数据发送到服务器iphone上的javascript函数吗



我想知道是否可以从我的应用程序中调用javascript函数。js函数在服务器上。假设我在应用程序中有一些输入。然后我有这个提交按钮,它从我想调用的IBAction调用IBAction:

function mySubmit(){
    document.getElementById("myForm").submit();
}

并将用户输入的数据传递给它,然后(在我的应用程序中)返回一个不在服务器中的响应

这样做可能吗?如果是,你能提供一些有用的链接吗?

提前谢谢,星期六过得愉快;)

js函数在服务器上

你确定这是你的情况吗?你的意思不是说你的js提交的表单本身在服务器端处理吗?Javascript通常是一种客户端脚本语言,在客户端执行,与仅在服务器端执行的PHP相反。

[EDIT](如@Dr.Dredel在评论中所述,因为存在服务器端javascript,但这些用法还不常见,我认为它与您的上下文不符)

如果您需要从WebView中已加载的HTML页面调用javascript函数,只需使用UIWebView的stringByEvaluatingJavascriptFromString:即可。您可以将一个表示javascript代码的字符串传递给该函数,这样您就可以构建一个表示函数调用的字符串,例如使用字符串或int参数,而不会出现任何问题。

但是,如果你打算加载HTML页面只是为了调用javascript函数,而javascript函数又提交了一个将表单数据发送到服务器的表单……这显然是错误的方式!

您应该考虑直接在Objective-C中对服务器执行NSURLRequest(可能使用ASIHTTPRequest执行POST请求并轻松设置要发送的表单的每个键的值)。此外,直接在ObjC中执行此操作将避免免费加载HTML页面并依赖js脚本,并允许您直接在delegate方法中获得响应。

最新更新