Uncaught SyntaxError: Unexpected token < in JSON at Function.parse [as parseJSON] (<anonymous&
Posted
技术标签:
【中文标题】Uncaught SyntaxError: Unexpected token < in JSON at Function.parse [as parseJSON] (<anonymous>) 位置 0【英文标题】:Uncaught SyntaxError: Unexpected token < in JSON at position 0 at Function.parse [as parseJSON] (<anonymous>) 【发布时间】:2018-08-27 20:12:55 【问题描述】:我在向 mysql 数据库添加数据时遇到问题,下面是代码(如果需要,我也可以添加 php 代码)。它说:
在 Function.parse [as parseJSON] at Object.success (form.js:16) at u (jquery.min.js:2) 在 Object.fireWith [as resolveWith] (jquery.min.js:2) 在 k (jquery.min.js:2) 在 XMLHttpRequest.(jquery.min.js:2)
$(document).ready(function()
$('form').submit(function(event)
var json;
event.preventDefault();
$.ajax(
type: $(this).attr('method'),
url: $(this).attr('action'),
data: new FormData(this),
contentType: false,
cache: false,
processData: false,
error: function (xhr, status, err)
console.error(this.props.url, status, err.toString());
.bind(this),
success: function(result)
json = jQuery.parseJSON(result);
if (json.url)
window.location.href = '/' + json.url;
else
alert(json.status + ' - ' + json.message);
,
);
);
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Content Header (Page header) -->
<section class="content-header">
<h1>
ახალი აქციის დამატება
</h1>
<!-- <ol class="breadcrumb">
<li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
<li><a href="#">Forms</a></li>
<li class="active">General Elements</li>
</ol>-->
</section>
<!-- Main content -->
<section class="content">
<div class="row">
<!-- left column -->
<div class="col-md-12">
<!-- general form elements -->
<div class="box box-primary">
<!-- /.box-header -->
<!-- form start -->
<form action="/admin/addslider" method="post">
<div class="box-body">
<div class="form-group">
<label for="title">აქციის სათაური</label>
<input type="text" class="form-control" name="title" placeholder="აქციის სათაური">
</div>
<div class="form-group">
<label for="image">სურათის მიმაგრება</label>
<input type="file" name="img">
<!--<p class="help-block">Example block-level help text here.</p>-->
</div>
<div class="form-group">
<label>აქციის აღწერა</label>
<textarea class="form-control" name="description" rows="3" placeholder="Enter ..."></textarea>
</div>
<div class="form-group">
<label for="position">აქციის პოზიცია</label>
<input type="number" class="form-control" name="pos" min="1" max="20" >
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button type="submit" class="btn btn-primary">ატვირთვა</button>
</div>
</form>
</div>
<!-- /.box -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
【问题讨论】:
您的服务器可能正在向您返回错误,因此您收到的答案以 html 标记开头。尝试删除console.log()
以查看您的回复是什么样的。
是PHP代码有问题。它返回<notice>
或<warning>
或类似...您可以在Chrome 调试工具的Network
选项卡中查看响应。它会告诉你必须调试的 PHP 错误是什么。
【参考方案1】:
删除这一行
json = jQuery.parseJSON(result);
您收到的响应似乎已经是一个 JSON 对象。
【讨论】:
【参考方案2】:试试这个,因为我也遇到了同样的问题,我用下面的代码解决了。
var jsonResult= Json(result, JsonRequestBehavior.AllowGet);
jsonResult.MaxJsonLength = int.MaxValue;
return jsonResult;
其中result
是您要传递给cshtml 中的ajax 方法的对象。
【讨论】:
以上是关于Uncaught SyntaxError: Unexpected token < in JSON at Function.parse [as parseJSON] (<anonymous&的主要内容,如果未能解决你的问题,请参考以下文章
Uncaught (in promise) SyntaxError: Unexpected end of JSON input error
面对“Uncaught SyntaxError: Unexpected token ''”
Uncaught SyntaxError: Invalid shorthand property initializer
Webpack Babel 加载错误 - Uncaught SyntaxError: Unexpected token import [重复]
Uncaught SyntaxError: Invalid shorthand property initializer