【问题标题】:Code Works in JSFiddle But not Localhost, Please help me find out why代码在 JSFiddle 中有效,但在 Localhost 中无效,请帮我找出原因
【发布时间】:2015-08-05 00:32:33
【问题描述】:

当我可以让它在 JSFiddle 上运行时,我在让我的代码在我的 LAMP 服务器 localhost 上正常运行时遇到问题。现在通常发生这种情况时,我稍后会踢自己的一些小事。然而,众所周知,对一个问题多看几眼比一组好。请如果有人可以,请帮助我找到解决问题的方法。

这是我在 JSFiddle 上使用的 JS 函数。此函数采用一系列复选框并在下一个 JQuery Fade In Form 上填充排序列表。在 JSFiddle 上,它的所有显示同时显示,但在我的实际文档中,它的 2 种形式(仍然在索引中)在用户点击下一个时淡入淡出。

https://jsfiddle.net/1ukyLgnh/5/

这是我的存储库,其中包含我的完整 Index.html 文件,

https://github.com/dhierholzer/Basiconlineordering

注意: 我的索引文件中的函数位于底部 $('#btn4').click(function(e){ }

如果您正在运行 Web 服务器,从 Github 下载我的文件并运行它可能会有所帮助。

我正在使用的功能(适用于 FSFiddle 而不是我的 Index.html 文件)是这样的:

$(document).ready(function() {
    $( "#sortable1, #sortable2, #sortable3" ).sortable({
        connectWith: ".connectedSortable"
    }).disableSelection();


    //Some code
    $("#sortable3").sortable();
    //Some more code
    $("#addStuff").click(function(e) {
        e.preventDefault();
        var itemSelector = $("#myList li"),
            items = [],
            dataObj = {};
        $.each(itemSelector, function(i, v) {
            items.push($(v).val());
        });
        //I Am Sure There Is A Better Way Of Sending Checked Items Than A Ton Of IF Statements, However This Works..
        if(document.getElementById('bacon').checked) {
            items.push($("#bacon").val());
        }        
        if(document.getElementById('bananapeppers').checked) {
            items.push($("#bananapeppers").val());
        }          
        if(document.getElementById('blackolives').checked) {
            items.push($("#blackolives").val());
        }        
        if(document.getElementById('greenpeppers').checked) {
            items.push($("#greenpeppers").val());
        }         

        dataObj.stuff = items;
        $.ajax({
            url: '/echo/json/',
            data: {
                json: JSON.stringify(dataObj)
            },
            success: function(data) {
                $("#sortable3").empty();
                $.each(data.stuff, function(k, v) {
                    $("#sortable3").append("<li>" + v + "</li>");
                })
            },
            type: 'POST',
            datatype: 'json',
            cache: false
        });
    });
});

任何评论和帮助都会很有用,

再次感谢!

【问题讨论】:

  • 你加载了 jQuery 吗?你的 jQuery 版本是 2.0 及以上吗?如果是这样,它是否在 IE 中运行?
  • Javascript 控制台是否有错误?
  • 您在本地服务器上的 AJAX 调用中是否使用了/echo/json/?你的服务器上有这样的脚本吗?
  • 它完全适合我。我会重新检查你的控制台。它没有使用网络服务器就崩溃了。我将假设您没有运行服务器,或者您只是双击并打开文件而不是导航到服务器 URL。

标签: javascript jquery html json lamp


【解决方案1】:

您是否尝试过添加 - contentType : '应用程序/json'

到你的 ajax 请求对象

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多