gpt4 book ai didi

jquery - ajax 调用失败并出现错误 "Unexpected token"

转载 作者:行者123 更新时间:2023-12-01 05:31:51 25 4
gpt4 key购买 nike

我有一个 PHP 应用程序,它进行 ajax 调用并从我的数据库检索以下数据:

{
"5717a3873747106e60a087ec": {
"_id": {
"$id": "5717a3873747106e60a087ec"
},
"phone": "18455100020",
"fax": false,
"emergency": false,
"site": "ABC",
"sip_uri": "",
"associated_users": [],
"location": "New Zealand",
"reservation": [{
"reserved": true,
"reserved_for": "COO12"
}],
"available": true
}
}

这是我必须进行ajax调用的代码:

   $(document).ready(function(){
var request = BASEPATH + 'index.php/export/get_widget/available';
console.log(request);
$.ajax({
url:request,
type:'GET',
dataType:'jsonp',
success: function(returnDataFromController) {
if (returnDataFromController.status)
{
console.log(returnDataFromController);
//build table contents
}
},// end success
error: function(jqXHR, textStatus, errorThrown)
{
console.log(errorThrown);
}
});//end ajax.
}); //end document ready

当我检查控制台时,我发现请求失败并显示以下错误消息:

Uncaught SyntaxError: Unexpected token :

当它看到 mongo doc id“5717a3873747106e60a087ec”之后的第一个“:”时,它基本上就死了

我尝试过的:

我已经验证了 jsonlint 中的返回数据,看起来数据是有效的 json。

我不知道还要检查什么。我正在使用 jsonp 与 json 作为我的 ajax 调用的数据类型。但除此之外,我没有什么想法。

有什么建议吗?

编辑 1

我还应该说我找到了这篇文章:jQuery.ajax() call is returning JSON.parse unexpected character error

但我不知道如何编辑 json header 。我目前也在研究代码,看看如何做到这一点

编辑2:

当我将 jsonp 更改为 json 时,我收到另一条错误消息:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.

变量“request”包含如下内容:

http://10.1.1.1/mytestapp/index.php/export/get_widgets/available

我认为问题在于上述 URL 正在与我用来启动应用程序的“http://localhost/mytestapp”URL 进行比较。因此尝试像这样启动我的网络应用程序:

http://10.1.1.1/mytestapp/index.php/

但它仍然失败并出现相同的错误。

最佳答案

所以我的问题的根本原因是 json 与 jsonp。我将 ajax 调用中的数据类型更改为 json。然后,我没有在调用中传递完整的 URL,而是传递了应用程序名称,如下所示:

            var request = '/testapp/index.php/export/get_widgets/available';
154 console.log(request);
155 $.ajax({
156 url:request,
157 type:'GET',
158 dataType:'json',
159 success: function(returnDataFromController) {
160 if (returnDataFromController)
161 {
162 console.log(returnDataFromController);
163 console.log(returnDataFromController.id);
164 //build table contents
165 }
166 },// end success
167 error: function(jqXHR, textStatus, errorThrown)
168 {
169 console.log(errorThrown);
170 }
171 });//end ajax.

关于jquery - ajax 调用失败并出现错误 "Unexpected token",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36754396/

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