gpt4 book ai didi

jquery - $.get 在带有 PhoneGap 的 iPhone 模拟器中返回 "[object Document]"

转载 作者:行者123 更新时间:2023-12-01 06:14:45 25 4
gpt4 key购买 nike

我正在尝试对我的 (XCode) iPhone 模拟器(使用 PhoneGap)中的本地文件执行简单的 $.get() 请求,但结果始终返回为“ [object Document]”(通过警报),而不是文件的实际内容。

但是,当我在 Google Chrome 中测试它时,完全没有问题。奇怪的是,我可以 $.load() 本地页面没有问题(在 iPhone 模拟器中),但是当我尝试 $.get() 它,它不会工作。

这是我的index.html代码:

<script type="text/javascript" src="js/phonegap.js"></script>
<script type="text/javascript" src="js/jquery.js"></script>

<div class="load"></div>

<script>

$.get('content/view/images.html', function(data) {

alert(data); // returns "[object Document]"

});

$('.load').load('content/view/images.html'); // returns actual file content

</script>

这是我的content/view/images.html代码:

<img src="http://static.example.com/images/{$file_key}.{$file_type}" style="max-width: 100%; max-height: 200px;" />

但是,当我将 content/view/images.html 的内容更改为 LOL 之类的内容时,它会正确 $.get()它。

对于世界上正在发生的事情有什么想法吗?

最佳答案

除非你另外告诉 jQuery,否则它会根据随数据发回的 MIME 类型来猜测如何处理返回的数据。如果您要返回一个文档,则返回的 MIME 类型必须是 XML(因此您的 HTML 页面可能是 XHTML,或者至少服务器是这么说的)。 (请参阅 $.ajax 有关 dataType 选项的文档;jQuery 创建文档的唯一时间是在处理 XML 时。)

你可以通过给它一个dataType来告诉jQuery你总是希望它作为文本,它是$.get中成功处理程序后面的参数。 :

$.get('content/view/images.html', function(data) {

alert(data);

}, "text");
// ^--- new bit

...或者您可以使用 $.ajax 在选项对象上指定它:

$.ajax({
url: 'content/view/images.html',
dataType: "text", // <=== new bit
success: function(data) {

alert(data);

}
});

关于jquery - $.get 在带有 PhoneGap 的 iPhone 模拟器中返回 "[object Document]",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9310906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com