给我看看我的ajax发送的时候哪里出现了问题?

html和js

        <p><span>验证码:</span><input id="captcha" type="text" name="vCode" url="{:url('index/index/checkCode')}"/>
            <img src="{:captcha_src()}" onclick="this.src='{:captcha_src()}?x='+Math.random();" />
            <span class="reminder"></span>
        </p>
        <input class="btn" type="button" value="提交"/>
        
        <script type="text/javascript" src="__PUBLIC__/js/jquery.min.js"></script>
<script type="text/javascript">

    var oBtn      = $("input.btn");
    var oReminder = $("span.reminder");

    $(oBtn).bind('click', function(){

        var oContent = $("#captcha").val();
        var oUrl     = $("#captcha").attr('url');

        $.ajax({
            type:"post",
            url: oUrl,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data:"{vCode:oContent}",
            success:function(){
                console.log(444);
            },
            error:function(){
                console.log(888);
            }
        });
     });

如果不加 dataType 就可以发送 我的json数据格式有问题?

阅读 4k
10 个回答

json格式不对

data:{vCode:oContent},

楼上正解!data:{vcode:oContent},没有引号

data:"{vCode:oContent}", 双引号去掉

是这个意思不?

$(function() {
    var oBtn      = $(".btn");
    var oReminder = $(".reminder");

    oBtn.click(function(){
        var oContent = $("#captcha").val();
        var oUrl     = $("#captcha").attr('url');
        var postData = { "vCode": oContent };

        $.post(oUrl, postData)
            .done(function(){
                console.info('发送成功');
            }
            .fail(function(){
                console.error('发送失败');
            };
    });
});
data:"{'vCode':oContent}"

JSON的key要用括号

key也没有引号,

新手上路,请多包涵

data:{vcode:oContent}

你先写成data:{a:123},这样的形式在,在发送data的时候加上JSON.stringify(data)就可以,这样可以省掉你拼接字符串的代码。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题