1

上下文: 另一个网站中有一个包含搜索表单的页面
asp使用搜索值提交此表单后,页面会在 iframe 中显示搜索结果。

问题:
我想在我的页面中使用返回的结果而不在浏览器中加载该页面。我已获得其他网站管理员的许可。我知道 php 和 jQuery。我应该如何进行?

示例:
abcd.asp包含一个表单,其中包含 <input name="regno"/>一个提交按钮。表单提交给自己,结果姓名、出生日期和标记以 iframe 中的表格格式返回。

注意:
我有一个相同的页面,<input>提交后将使用上述asp页面并获取详细信息并将其显示在我的页面中。

4

3 回答 3

1

最简单的方法:

  1. 使用 jQuery 通过 AJAX 将您的页面提交到本地 PHP 文件。
  2. 当本地 PHP 文件收到请求时,向远程页面发出 curl 发布请求并获取结果。
  3. 在您的本地 PHP 脚本中返回这些结果,以便这些结果可用于您的 AJAX 请求
  4. 您的 ajax 请求现在具有远程内容,因此只需使用 jQuery 将它们推送到文档中。
于 2013-04-19T10:44:18.593 回答
0

您应该使用 AJAX 来执行此任务。它在不重新加载页面的情况下加载特定的数据部分。有关什么是 ajax 的更多信息在这里

于 2013-04-19T10:44:46.743 回答
0

您最好的选择是使用jQuery 的 ajax 方法。要使其适用于不同的域,您需要启用跨域支持。这在 jQuery 中非常简单:

$.support.cors = true; // enable cross domain support

现在您可以向另一个域发出请求。当然,该域上的服务器也必须接受跨域请求。;)

选项 1 - HTTP GET & JSONP

正如 Twisted1919 指出的,如果你想发出 HTTP GET 请求,你必须使用 jsonp。如果您不熟悉 jsonp ,则需要阅读一些内容才能理解该概念。但是 jQuery 对此有很好的支持(如jQuery.ajax()中所述)。

选项 2 - HTTP POST

如果您使用 http post 来发出请求,您可以简单地使用 jQuery.post() 来完成此操作。启用跨域后,服务器接受您的请求,这应该可以开箱即用。

于 2013-04-19T10:54:43.707 回答