我觉得我真的应该为此学习WCF(如果你同意的话可以随意评论),但是,我想以XML或JSON格式查询网站并获得结果.
在这种情况下,我选择JSON.
我在网站(www.site1.com)上有一个控制器,看起来像
public JsonResult Save(bool willSave)
{
//logic with the parameters to go here
return Json(new { code = 200, description = "OK" }, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)
现在,我想从另一个网站获取这些信息,所以在www.site2.com我什么都没有...我不知道我能编写什么代码,只是因为我看到你查询的所有例子json使用javascript/Ajax.
我不想使用JavaScript或Ajax(我知道该怎么做),对于这个项目,我正在努力做我可以服务器端的一切.
我希望能够做到以下几点
public ActionResult Do()
{
var json = someHowQuerySite1.com?withQueryString=true;//THIS IS THE ISSUE
var model = CreateModel(json);
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
正如你所希望看到的,
var json = someHowQuerySite1.com?withQueryString=true;//THIS IS THE ISSUE
Run Code Online (Sandbox Code Playgroud)
我不知道在这里写什么语法.
当我将应用程序文件夹放在{JETTY_HOME}/webapps目录中时,我有一个正常运行的Web应用程序(称为servlet).
如果我将Web应用程序的副本放在webapps的子文件夹中,那么当我浏览到该站点时会调用所有静态文件,但是我通过ajax调用的servlet返回404.
http://localhost/shlaa
Run Code Online (Sandbox Code Playgroud)
http://localhost/mapapp/shlaa
为ajax调用/mapapp/shlaa/CommentController.do返回404
两个路径/ WEB_INF文件夹中的web.xml包含以下内容
<servlet>
<servlet-name>CommentController</servlet-name>
<servlet-class>web.CommentController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CommentController</servlet-name>
<url-pattern>/CommentController.do</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
{JETTY_HOME}/etc中的jetty.xml文件夹包含以下内容:
<Call class="org.mortbay.jetty.webapp.WebAppContext" name="addWebApplications">
<Arg><Ref id="contexts"/></Arg>
<Arg><SystemProperty name="jetty.home" default="."/>/webapps</Arg>
<Arg><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Arg>
<Arg type="boolean">True</Arg> <!-- extract -->
<Arg type="boolean">True</Arg> <!-- parent priority class loading -->
</Call>
Run Code Online (Sandbox Code Playgroud)