使用 ajax 的输入 jquery 意外结束

Unexpected end of input jquery using ajax

我有以下 jQuery 脚本。

http://www.codeshare.io/aQxBp

并得到错误:

SyntaxError: Unexpected end of input

我的 js 文件在语法方面是正确的,没有遗漏任何右括号或左括号。感谢您的任何建议。

这里是您告诉您的 ajax 呼叫期望收到 JSON。当未收到 JSON 时,当 JSON.parse 尝试解析非 JSON 字符串时将抛出错误。 JSON 本质上相当简单,但您必须有意识。要进行类似于此的 ajax 调用(注意 response.emailtoinvite):

jQuery.ajax({
    type: "POST", // HTTP method POST or GET
    url: "sendinvitation.php", //Where to make Ajax calls
    dataType: "json", // Data type, HTML, json etc.
    data: myData, //Form variables
    success: function(response) {
        alert(response.emailtoinvite);
    },
    error: function(xhr, ajaxOptions, thrownError) {
        //$(".btn.btn-primary").show(); //show submit button
        alert(thrownError);
    }

});

.....sendinvitation.php 将必须发回正确的 JSON 字符串。以下作品:

{emailtoinvite: "zilahi@gmail.com", idToInvite: 136}

这里要注意一点,所有的字符串都要用双引号括起来""。此外,整个字符串必须包含在 {} 中。数字可以不带引号。

同样重要的是要注意上面的 不是 正确的语法,但有时确实有效。正确的语法还要求您将 "keys" 也用引号 "" 括起来:

{"emailtoinvite": "zilahi@gmail.com", "idToInvite": 136}
$.ajax({
            type: 'POST',
            dataType: 'JSON',
            url:"test.php",//<?php echo $_GET['url'] ?>,
            data: data,
            success: function(response) {
                if ($('#toggle').prop('checked')) {
                    $('.led-<?php echo $_GET[\'color\'] ?>').show();
                    $('.led-off').hide();
                } else {
                    $('.led-<?php echo $_GET[\'color\'] ?>').hide();
                    $('.led-off').show();
                }
            },
        });