weixin_33681778 2014-10-02 18:36 采纳率: 0%
浏览 32

jQuery Ajax JSON错误解析

I have a JSON object that I was trying to send to a node server. I use this:


Generic function to make a request:

function makeTheRequest(method, url, data, dataType, onSuccess, onError, onComplete)
{
    jQuery.ajax({
        method: method,//metodo|verbo con el que procesamos la peticion
        url: server + '/' + url,//url a la que hacemos la petición
        data: data,//datos del formulario
        dataType: dataType,
        success: onSuccess,
        error: onError,
        complete: onComplete
    });
}

Concrete function where I call the generic:

jQuery('#sign_log_button').on('click', function()
{

    var user = {};
    var fields = true;
    jQuery('.data').each(function(index)
    {
        if(jQuery(this).val())
            user[jQuery(this).attr('id')]=jQuery(this).val();
        else fields = false;
    });
    console.log(JSON.stringify(user));
    if(fields)
    {
        makeTheRequest('POST', 'users', "user=" + user , 'json', onSuccessSignLog, onErrorSignLog);
    }
    else alert("Please, check all fields.");
});

The problem I am finding is the same that many people has (I could read this problem on this forum, but no one answer is fixing me the problem... maybe I am not understanding well them).

Finally, I find a solution... and I think is great (becouse can support json and text request dataType on the server), but I would know how to do the json ajax request with jquery.


My Solution

(maybe is not the best... but it is mine, and I like it ;) ) Change the line where make the calling to the generic function for this other line:

makeTheRequest('POST', 'users', "user=" + JSON.stringify(user) , 'text', onSuccessSignLog, onErrorSignLog);

And on the server side this:

router.post('/', function(req, res)
{
    user = req.body.user;
    if(typeof user === "string") user = JSON.parse(user);
    //MORE AND MORE
    res.send(user.user_name);   
});

How I said, I think it is not bad becouse the server is more flexible, but I had been a long time trying to make a json ajax request... and I want to find the solution.

PS: My english is not the best... excuse me!!

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 c#:vsto,powerpoint的外接程序中换主题颜色
    • ¥15 状态机/汽车转向灯/Sateflow
    • ¥15 这个有点复杂 有没有人看看
    • ¥15 用python如何确定子孙元素在父元素中的位置
    • ¥15 obj文件滤除异常高程
    • ¥15 用mathematicas或者matlab计算三重积分
    • ¥15 Loop unrolling的runtime计算
    • ¥100 NVMe-oF的Target端,开启attr_offload后,测试失败。
    • ¥100 有偿照片马赛克去掉,保留原始数据
    • ¥15 c# winform http报错,如何解决?