2014-08-27 67 views
0

作为我们应用程序的一部分,我们需要能够向我们的客户提供某种模块,以便他们可以轻松地将其注入到自己的网站中。HTML/Javascript模块

模块是一个带有预定义字段的表单(我们当然会控制这个字段),当用户点击提交按钮时,表单的内容应该发送给我们。我们不得不考虑验证。第一遍将在页面上完成(Javascript),然后在服务器上完成另一个传递,然后可以将错误返回给客户端。

我正在寻找最好的选项在我们的客户网站中嵌入该行为。

我们想到了一个调用我们的服务器来获取html/js的iframe,但我不确定这是否是最好的。

我们正在使用ASP.Net MVC和Web API 2,所以我可以使用剃须刀构建大部分表单并处理这种验证(简单方法),但我正在寻找最便携的/可重用的解决方案,因为我们想要避免如果客户改变技术就不得不重做整个事情。

任何线索?

回答

1

如果您将其作为简单合并脚本进行操作比使用系统中直接请求的内容,最好将面板与后端完全分离,所以前端是纯JavaScript,HTML和CSS执行客户端验证,然后使用AJAX将数据传回给您系统进行服务器端记录和验证,同时牢记the same origin policy的限制。您可以返回验证结果并将其显示在页面中。

除非您的表单异常复杂,否则使用JQuery实现并使用REST风格的方法(通过类似于Web API的接收方法)可以很容易地接收来自您身边的请求。

这两种方法都有正面和负面的作用,但不在DOM之内意味着IFrame很难融入到页面设计中。

+0

是的,我正在阅读如何创建自定义jQuery模块,看起来像要走的路。一个简单的库,加载($(“#result”).load(“ajax/test.html”);)HTML与相关的js和web api背后的通信。 – 2014-08-27 13:42:50

0

从经验来看,毕竟我会建议使用。另一种方法是使用某种API,但是在大多数情况下,设计一个安全的面向公众的API并释放其优势并不值得投入时间。此外,方法在以后的API不提供的更改方面具有很大的灵活性。唯一需要记住的“重要”部分是制作一个简单的工具来自定义iframe的外观(例如背景颜色,文本颜色,错误框颜色等)。