【问题标题】:What's the difference between the two of the following methods to send GET data以下两种发送GET数据的方法有什么区别
【发布时间】:2014-02-07 16:48:28
【问题描述】:

只是为了提供背景。我在一个普通的 html 文件中编写了以下代码。我的系统上没有服务器或任何运行的东西。我在桌面上创建了一个文件,并在其中编写了html代码。

第一种方法

<form action="http://www.google.com" method="GET">
<input type="submit"/>
</form>

第二种方法

<form action="http://www.google.com" method="GET">
<input type="button" onclick="myMethod()"/>
</form>

<script>
function myMethod(){
                    $.ajax({
                        data:'',
                        type: 'GET',
                        url: 'http://www.google.com',
                        success: function(response){
                            $(".popupdiv").html(response);
                        }
                    });
                    event.preventDefault();
                    return false;
}

</script>

当我执行第一种方法时,单击按钮时,我会被带到google.com,但通过第二种方法,什么也没有发生。甚至我的 (chrome) 控制台也没有显示任何错误。

发生了什么,有什么区别?

【问题讨论】:

    标签: html ajax forms get submit


    【解决方案1】:

    甚至我的 (chrome) 控制台也没有显示任何错误。

    这似乎不太可能。

    我的节目:Uncaught ReferenceError: $ is not defined

    如果我添加 jQuery,它会显示:XMLHttpRequest cannot load http://www.google.com/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://run.jsbin.com' is therefore not allowed access.

    即使不是这样,$(".popupdiv") 也不会匹配您文档中的任何内容。

    发生了什么,有什么区别?

    在一种情况下,您告诉用户的浏览器只需转到 Google。

    另一方面,您告诉用户的浏览器从 Google 获取一些数据并提供给您。由于网站显示的内容可能取决于发送凭据的浏览器(在 Google 的情况下确实如此),如果可能的话,这将是一个严重的安全问题。

    另请参阅:Ways to circumvent the same-origin policy

    【讨论】:

    • 对不起,我没看懂你的最后一句话。即“由于网站显示的内容可能取决于浏览器发送凭据(在谷歌的情况下它确实如此),如果可能的话,这将是一个严重的安全问题。”。谢谢。
    • 如果它是我银行的网站,而不是谷歌。我的银行帐户中的信息显然比 Google 中的信息更私密。您希望您访问的任何网站都能够指示您的浏览器访问您银行的网站并获取您的帐户详细信息吗?
    • 所以基本上它会检查身份验证,因为它失败了,我什么也得不到。对吗?
    • 不,它会检查 Google 是否说允许其他网站读取用户请求的数据,但失败了。
    【解决方案2】:

    该操作通常会将您发送到它的值“主要是文件名或 url” 但是当您使用 get 方法时,这只会发送从文件或给定 url 加载数据的请求,请尝试使用 Xml 或 Json 文件的第二个代码以进一步了解它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-12
      • 1970-01-01
      • 2018-11-12
      • 2013-09-08
      • 2019-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多