【发布时间】:2015-04-01 05:28:17
【问题描述】:
我正在使用 MVC 4 Web Api,并且我需要公开一个端点,客户端可以使用该端点在其网页上呈现代码。像这样的
<script type="text/javascript" src="http://server/endpoint"/>
当上述行包含在网页中时,服务器应该返回一个应该自动执行的javascript代码。
例如,如果服务器返回代码-alert('hello'),那么客户端网页(使用脚本)应该会自动弹出“hello”。
服务器端代码可以如下所示。在这种情况下,服务器返回 javacript 代码以在浏览器中写入表。基本上,这用于返回大学中特定教授的出版物列表。暴露点是为了让个人可以在他们的网页中包含脚本以显示他们的出版物
// GET api/values/5
public string Get(int id)
{
var html = "<table><tbody>";
html += "<tr>";
html += "<td>row 1, col 1</td>";
html += "<td>row 1, col 2</td>";
html += "</tr>";
html += "<tr>";
html += "<td>row 2, col 1</td>";
html += "<td>row 2, col 2</td>";
html += "</tr>";
html += "</tbody></table>";
var script = string.Format(@"<script type='text/javascript'>document.write('{0}')</script>", html);
return script;
}
任何想法如何实现。我尝试使用Response.Write("alert('hello')"),但它不起作用。
【问题讨论】:
-
您考虑过使用HttpHandler吗?
标签: javascript asp.net-mvc-4 jsonp asp.net-web-api