mvc框架下用ajax进行局部更新没反应,高手们怎么弄呃

finer 2018-04-24 10:00:33
<script src="~/Scripts/jquery.min.js"></script>
......
<div id="divBody">
<div id="divSearchHeader" align="center">
<h1><spam style="color:GreenYellow">yee</spam>Look</h1>
<div id="divSearchInput">
<input type="text" class="inputTxt" id="kw" name="kw"/><button id="submit" text="一路点..." class="inputBtn"/><input type="submit" id="submit" value="一路点" class="inputBtn" display="hidden"/>
</div>
</div>
<div id="divSearchContent">
<div id="divSearchContentC"><span id="text"></span></div>
<div id="divSearchContentR">test</div>
</div>

</div>
......
<script>
$(function(){
$('#submit').click(function(){
var kwStr=$('kw').val();
$.ajax({
type: "post",
url: "IndexController/getdata",
data: {kw:kw},//提交到demo.php的数据
dataType: "json",//回调函数接收数据的数据格式
success: function(msg){
$('#text').empty(); //清空Text里面的所有内容
var data='';
if(msg!=''){
data = eval("("+msg+")"); //将返回的json数据进行解析,并赋给data
}
$('#text').html("新闻:" + data.kw); //在#text中输出
console.log(data); //控制台输出
},
error:function(msg){
console.log(msg);
}
});
});
})
</script>

---------------------------
url: "IndexController/getdata",
这个地方怎么写?
...全文
1813 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
finer 2018-05-17
  • 打赏
  • 举报
回复
引用 13 楼 weixin_40048408 的回复:
F12 NETWORK 看看发送了什么,接收的msg打印一下,console或者alert


因为使用自定义简易MVC框架,又使用了布局页,所以response回来的内容还包括了布局页的内容(现在的问题是怎么获取json或者通过ajax机制response回来的内容怎么不通过route规则),如下图:

finer 2018-05-17
  • 打赏
  • 举报
回复
引用 12 楼 wenzhibincom 的回复:
你把接收到的值 用 console.log(msg) 打印出来看一下 你不就知道结果了么;


小温LLT 2018-05-17
  • 打赏
  • 举报
回复
不要传递HTML 到服务器上面,直接把input里面的值传递上去就好了。
小温LLT 2018-05-17
  • 打赏
  • 举报
回复
引用 15 楼 finer 的回复:
[quote=引用 12 楼 wenzhibincom 的回复:] 你把接收到的值 用 console.log(msg) 打印出来看一下 你不就知道结果了么;
[/quote] 首先 你把数据通过ajax提交到服务器然后服务器那边用echo json_encode(‘你的数据数组形式’);然后你用console.log打印msg就会发现 他已经是对象了,你就可以像平常使用对象获取里面的数据。
mu_rain 2018-05-15
  • 打赏
  • 举报
回复
用vue 吧。什么基础都还要自己去折腾,太费事了。
一生小白 2018-05-15
  • 打赏
  • 举报
回复
F12 NETWORK 看看发送了什么,接收的msg打印一下,console或者alert
小温LLT 2018-05-14
  • 打赏
  • 举报
回复
你把接收到的值 用 console.log(msg) 打印出来看一下 你不就知道结果了么;
xuzuning 2018-05-08
  • 打赏
  • 举报
回复
只要是 dataType: "json", 就表示你会返回 json,并且要求系统替你解码,此时你就要保证返回的就一定是 json 这有什么可不懂的呢 如果返回的数据只做 $('#text').html("新闻:" + data.kw); //在#text中输出 那么 $.ajax 整段都不需要,直接 $('#text').load("IndexController/getdata", {kw:kw}) 也就可以了。当然此时返回的是所要显示的内容
finer 2018-05-08
  • 打赏
  • 举报
回复
引用 10 楼 xuzuning 的回复:
只要是 dataType: "json", 就表示你会返回 json,并且要求系统替你解码,此时你就要保证返回的就一定是 json
这有什么可不懂的呢

如果返回的数据只做
$('#text').html("新闻:" + data.kw); //在#text中输出
那么 $.ajax 整段都不需要,直接
$('#text').load("IndexController/getdata", {kw:kw})
也就可以了。当然此时返回的是所要显示的内容


谢谢您的关注,按您的意思,我做了测试,但还是不行,我哪里弄错 了呢?
代码如下:

1) a1.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script src="../Scripts/jquery-1.10.2.min.js"></script>
</head>
<body>
<header>
<input type="button" id="submit" value="XXYY">
</header>
<div id="text">看这里变化</div>
</body>
</html>
<script>
$(function(){
$("#submit").click(function(){
$("#text").load("ACController/index",{name:name});
});
})
</script>



2) ACController.php

<?php
class ACController{
public function index(){
echo "{name:'Finer Xiao'}";
}
}
?>

按上面的代码执行后结果如下:
finer 2018-05-07
  • 打赏
  • 举报
回复
引用 8 楼 xuzuning的回复:
用了layout.php布局页,就表示 ajax 收到的是 html 代码,分别处理就是了 $.ajax 的 get、post 方法是用于数据提交的,但他还提供了 load 方法,专门接收、展示 html
谢谢你的关注。 还没懂,请教,怎么分别处理呢?
xuzuning 2018-05-06
  • 打赏
  • 举报
回复
用了layout.php布局页,就表示 ajax 收到的是 html 代码,分别处理就是了 $.ajax 的 get、post 方法是用于数据提交的,但他还提供了 load 方法,专门接收、展示 html
finer 2018-05-06
  • 打赏
  • 举报
回复
用google开发工具查看,简单单独的mvc是可以正常获取的。但如果用了layout.php布局页就出问题了,返回的数据除了json数据外,还有布局页的字符串,怎么办呢?
finer 2018-04-25
  • 打赏
  • 举报
回复
引用 5 楼 qq_39195042 的回复:
用的是什么框架,tp么{:U('Index/getData')}
自己弄的简易MVC
好人二狗 2018-04-25
  • 打赏
  • 举报
回复
用的是什么框架,tp么{:U('Index/getData')}
finer 2018-04-25
  • 打赏
  • 举报
回复
大神在吗? 帮忙指导一下PHP新人,谢谢
finer 2018-04-24
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
你有 dataType: "json",//回调函数接收数据的数据格式 那么 success: function(msg){ 的 msg 就已经解码成 js 对象了 再 data = eval("("+msg+")"); 去解码,自然就错了
这里,我是copy网上的,不在MVC框架下可以正常运行的。
finer 2018-04-24
  • 打赏
  • 举报
回复
url: "IndexController/getdata", 请教,这个地方这样写对吗?
xuzuning 2018-04-24
  • 打赏
  • 举报
回复
你有 dataType: "json",//回调函数接收数据的数据格式 那么 success: function(msg){ 的 msg 就已经解码成 js 对象了 再 data = eval("("+msg+")"); 去解码,自然就错了

21,893

社区成员

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

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