求问关于$.ajax()的前后端具体实现方法
发布于 2年前 作者 windhome 1258 次浏览

我这两天在学习ajax,但总是不成功,下面是具体的前后端代码 前端:

<button onclick = "mySubmit()">登录</button>

function mySubmit(){ var params = { "user_id": "testid", "password": “testpwd” }; $.ajax({ url: '/login’, type: 'post’, data: params, datatype: 'json’, success: function(){ allert(‘hai’); }, error: function(XMLHttpRequest, textStatus, errorThrown){ alert(XMLHttpRequest + ‘#’ + textStatus + ‘#’ + errorThrown); }, complete: function(a,b){ alert(a + ‘complete#’ + b); } }); }; 后端: app.post('/login’,user.doLogin); (下面的exports是在user里面的) exports.doLogin = function(req,res){ console.log(“come here " + req.body.user_id + “#” + req.body.password); res.writeHead(200, { 'Content-Type’: 'application/json’, ‘Access-Control-Allow-Origin’ : ‘*’ }); res.json({"success":1}); res.end(); }; 在前端点击button后,后端命令行中有输出"come here testid # testpwd” 但前端总是回调error方法,alert框里是[object object] #error# 然后再调用complete方法,alert框里是[object object] #error 求问这是哪里写错了啊? 我是新手,请大家多指教!

4 回复

我觉得你要先看看console.log后面的是否都正常走完,如果正常走完,再去前端的error和complete打上断点查看内容,这样至少不会是[object object],起码你能知道他的错误提示。 然后最好再加上一个抓包工具查看一下,ie下的httpwatch之类的工具,看看是不是有一些乱七八糟的东西。头是不是对的。

最最后,我在用node的ajax时,直接用res.send(jsonStr),你可以先试试res.send能不能成功

require('uitl').inspect(json)可以帮助你看到object的具体信息,这样才好调试的。

发错了 是 require('util').inspect(json)

前端是写在.ejs文件里面的吗?我的<button onclick = "mySubmit()">点击的时候没有进函数mySubmit

回到顶部