ajax有时执行成功,有时报500错误

海迷539 2017-09-15 03:26:57
这是前台JS代码:
$(document).on('change','.figure',function(){

var val = $(this).parent().prev().children().val();
var value = $(this).val();

var fh=$(this);

$.ajax({
url:"{{ path('detail_stock_ajax',{ 'icmoId':icmoId }) }}",
type: "POST",
data: {brandId:val,figureId:value},
success:function(msg){

fh.parent().parent().children('td').eq(12).empty();
fh.parent().parent().children('td').eq(12).html(msg.stock);
}
})

});


这是后台PHP代码
$brandId = $request->request->get('brandId');
$figureId = $request->request->get('figureId');
$brand = $this->getDoctrine()->getRepository('DianzibuyStoreroomDepartmentBundle:DzbStoreroomProductBrand')->findOneById($brandId)->getId();
$products = $this->getDoctrine()->getRepository('DianzibuyStoreroomDepartmentBundle:DzbStoreroomProduct')->findByTitle($figureId);
foreach($products as $value){
if($value->getBrand()->getId() == $brand){

$stock = $value->getStock();

}
}
return new JsonResponse(array('stock' => $stock));


报错信息: Warning: rename(D:\phpStudy\WWW\Dianzibuy\var\cache\dev/doctrine/orm/Proxies\__CG__DianzibuyBundlePurchaseDepartmentBundleEntityDzbPurchaseSupplier.php.59bb801494e713.53833954,D:\phpStudy\WWW\Dianzibuy\var\cache\dev/doctrine/orm/Proxies\__CG__DianzibuyBundlePurchaseDepartmentBundleEntityDzbPurchaseSupplier.php):这里是乱码字符(code: 5)
...全文
925 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
海迷539 2018-03-07
  • 打赏
  • 举报
回复
最后的错误是: sublime3编辑器占用了缓存文件的线程。 相当于你要去更改一个文件的名称,但是该文件已经打开了,所以更改失败。我把sublime3编辑器关闭就不会报这个错误了。坑爹!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
傲雪星枫 2017-09-24
  • 打赏
  • 举报
回复
D:\phpStudy\WWW\Dianzibuy\var\cache\dev/doctrine/orm/Proxies\__CG__DianzibuyBundlePurchaseDepartmentBundleEntityDzbPurchaseSupplier.php.59bb801494e713.53833954 你要rename的文件名是这个? 文件是否存在,或是否有权限呢? 这种情况与ajax关系不大,可以加log,记录ajax传输的是什么参数,然后用这些参数直接访问 php看看有什么错误。 这样比较容易定位问题。
海迷539 2017-09-20
  • 打赏
  • 举报
回复
引用 8 楼 fdipzone 的回复:
D:\phpStudy\WWW\Dianzibuy\var\cache\dev/doctrine/orm/Proxies\__CG__DianzibuyBundlePurchaseDepartmentBundleEntityDzbPurchaseSupplier.php.59bb801494e713.53833954 你要rename的文件名是这个? 文件是否存在,或是否有权限呢? 这种情况与ajax关系不大,可以加log,记录ajax传输的是什么参数,然后用这些参数直接访问 php看看有什么错误。 这样比较容易定位问题。
谢谢你,这两天没有关注帖子的回复。我去试一试你说的
u014567183 2017-09-20
  • 打赏
  • 举报
回复
引用 7 楼 qq_28353177 的回复:
引用 4 楼 u014567183 的回复:
rename,可能是权限。可能是文件不存在。
是这个四级联动,选择第三个的时候,如果下拉菜单选择过快,就会500,如果下拉菜单选择慢一点就不会出问题
应该是有个顺序执行的问题,比如,你创建一个文件,然后rename,但是你还没创建完成,直接rename当然报错了。
傲雪星枫 2017-09-17
  • 打赏
  • 举报
回复
D:\phpStudy\WWW\Dianzibuy\var\cache\dev/doctrine/orm/Proxies\__CG__DianzibuyBundlePurchaseDepartmentBundleEntityDzbPurchaseSupplier.php.59bb801494e713.53833954 你要rename的文件名是这个? 文件是否存在,或是否有权限呢? 这种情况与ajax关系不大,可以加log,记录ajax传输的是什么参数,然后用这些参数直接访问 php看看有什么错误。 这样比较容易定位问题。
海迷539 2017-09-15
  • 打赏
  • 举报
回复
引用 4 楼 u014567183 的回复:
rename,可能是权限。可能是文件不存在。
是这个四级联动,选择第三个的时候,如果下拉菜单选择过快,就会500,如果下拉菜单选择慢一点就不会出问题
海迷539 2017-09-15
  • 打赏
  • 举报
回复
引用 3 楼 jordan102 的回复:
打开错误提示功能看看错误信息是什么
就是一个ajax的四级联动,执行到第三个联动的时候,如果下拉菜单选择过快,ajax就会报500错误,不能返回数据,如果下拉菜单选择慢一点(这个下拉菜单是根据前一个联动生成的),就不会报500错误,可以拿到数据
海迷539 2017-09-15
  • 打赏
  • 举报
回复
引用 2 楼 qq_28353177 的回复:
急!!!在线等!!
就是一个ajax的四级联动,执行到第三个联动的时候,如果下拉菜单选择过快,ajax就会报500错误,不能返回数据,如果下拉菜单选择慢一点(这个下拉菜单是根据前一个联动生成的),就不会报500错误,可以拿到数据
u014567183 2017-09-15
  • 打赏
  • 举报
回复
rename,可能是权限。可能是文件不存在。
一起混吧 2017-09-15
  • 打赏
  • 举报
回复
打开错误提示功能看看错误信息是什么
海迷539 2017-09-15
  • 打赏
  • 举报
回复
急!!!在线等!!
海迷539 2017-09-15
  • 打赏
  • 举报
回复
框架用的是:symfony3

21,890

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧