javascript - 为什么 jQuery.get() 改变了我的 URL?

标签 javascript jquery ajax

我有下面的代码,我只是通过 Ajax jQuery 调用获取资源..

 $.get({
            url: "http://jennifer-lawrence/mygirl/FreeTonight.php",
            type: "GET",
            dataType: "json",
            success: function(b) {
                a(b, b.signature)
            }
        })

当我启动它时,它失败了,当我查看 Chrome 开发工具的“网络”选项卡时,我看到请求正在发送到..

 http://jennifer-lawrence/mygirl/[object%20Object]

当然,服务器会返回 404。

但是如果我将上面代码中的“$.get”更改为“$.ajax”,那么它就可以正常工作。

这是怎么回事?

最佳答案

查看文档:https://api.jquery.com/jquery.get/

$.get 获取对象的方式与 $.ajax 不同。可能是因为它是能够快速编写 $.get(url) 的快捷方式。

根据文档,您的代码应该是:

 $.get("http://jennifer-lawrence/mygirl/FreeTonight.php", Null,
        function(b) {
            a(b, b.signature)
        }
,'json');

或者只是将$.get更改为$.ajax,问题就解决了。

实际上

您可以将对象传递给版本 >=1.12 和 >=2.2 的 $.get。因此,如果您将 jQuery 版本更新为其中之一,您的示例就会起作用。但是 type: 'GET' 完全是多余的。

关于javascript - 为什么 jQuery.get() 改变了我的 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36942495/

相关文章:

javascript - 带缩略图的产品图片库

javascript - JavaScript/jQuery/AJAX 中的嵌套模板

php - 使用ajax将JS变量传递到同一个php文件

javascript - 使用 CSS Transform Scale 的画板样式布局

javascript - Ajax 总是在成功时使用 Asp.Net HttpResponseMessage 执行错误函数

javascript - 在新选项卡中执行内容脚本 - chrome 扩展

javascript - 从类返回数据

javascript - CSS3 从固定到绝对的过渡

javascript - 根据所选禁用选项

javascript - HTML 表获取选中的复选框和文本元素