【问题标题】:Javascript using on php [duplicate]在 php 上使用 Javascript [重复]
【发布时间】:2013-03-08 11:15:10
【问题描述】:

k,我明白了,所以我再次检查并发现了我错过的有趣的东西: javascript:

function my_tmpDropFunc(ddObj, targetObj ,doll)
{
    if(isDropTarget(targetObj, ddObj) || confirmed)
    {
        var typeTarget = getPositionType(targetObj.id);
        var typeDD = getPositionType(ddObj.id);

        // Item-Types to Confirm using
        toConfirm = new Array();
        //toConfirm.push(new Array(32768, 'confirmCostume'));

        //Itembox
        if (typeTarget == 384)
        {
            onDropOnItembox(ddObj, targetObj)
            return "break";
        }

        if (typeDD == 384 && onDropFromItembox(ddObj, targetObj))
            return "break";

        //Essen
        if(typeTarget == 8)
        {
            ddObj.moveTo(pickObj.x, pickObj.y);
            SwapBlockingfields(false);
            changeShow();
            SetToolTip(true);
            PICK_ITEM = false;

            // Gurt, Style
            if(ddObj.contenttype == 64 || ddObj.contenttype == 32768)
            {
                // If a Confirmation needed, not confirmed an the type requires a confirmation...
                if (confirmNeeded && !confirmed && in_multi_array(toConfirm, ddObj.contenttype))
                {
                    // Get the correct BlackOutDialogBox (Defined in array).
                    for (key in toConfirm)
                    {
                        if (ddObj.contenttype == toConfirm[key][0])
                        {
                            blackOutDialogBoxToUse = toConfirm[key][1];
                            if (showUseItemAlarm(ddObj,targetObj,typeTarget,doll,typeDD,blackOutDialogBoxToUse))
                                return "return";
                        }
                    }
                }

                //Verbrauchen
                dd.elements[ddObj.name].hide();
                targetObj.div.style.cursor = 'wait';
                changeDraggable(false);
                ddObj.moveTo(pickObj.x, pickObj.y);
                doll = document.getElementById('plDoll').value;
                sendRequest('get', 'ajax.php', 'mod=overview&submod=useItem&item='+ ddObj.id +'&doll='+doll);
            }
            return "return";
        }

        //Crafting
        if (checkCrafting(ddObj,targetObj,typeDD,typeTarget))
            return "return";

        //Enchanten
        if (targetObj.iid && typeTarget < 256 && !ddObj.enchanttype)
            return "continue";
        if (checkEnchant(ddObj, targetObj, typeTarget))
            return "return";

        //Ins Inventar
        if (typeTarget >= 512)
        {
            x = getPositionX(targetObj.id)-1;
            y = getPositionY(targetObj.id)-1;
            field = CalcFieldWithObj(ddObj, typeTarget, maxcols, maxrows);
            if(!(field[x][y] & ddObj.contentsize))
                return "continue";
        }

        if(!(targetObj.contenttypeaccept & ddObj.contenttype))
            return "continue";

        //Bestätigung bevor Item Seelengebunden wird.
        if (showUniqueItemAlarm(ddObj,targetObj,typeTarget,doll,typeDD))
            return "return";

        my_SwapContent (targetObj,ddObj);
        newXY(targetObj);
        newXY(ddObj);
        if(typeTarget < 256)
            reformEquiped(targetObj, targetObj.w, targetObj.h, true);
        else if(typeDD < 256)
        {
            reformEquiped(ddObj,targetObj.w, targetObj.h, false);
            ddObj.contentsize = ddObj.contentsizebase;
            newXY(dd.obj);
        }
        targetObj.maximizeZ();
        //aElts[i].div.style.zindex = 200;

        // Pruefen ob von Lager verschoben wird
        var from = ddObj.id.substring(1, 4);
        var storage = false;
        if (from >= 352 &&  from <= 357)
            storage = true;
        if (storage)
            sendRequest('get', 'ajax/guildstorageswap.php', 'old='+ ddObj.id +'&new='+targetObj.id+'&doll='+doll);
        else
            sendRequest('get', 'ajax/inventoryswap.php', 'old='+ ddObj.id +'&new='+targetObj.id+'&doll='+doll);
        tt_Init(1);
        return "break";
    }
}

正如您所见,“Reflic”建议它向 ajax 发送数据,所以在 ajax.php 中我需要创建什么来接收该数据它发送什么?

【问题讨论】:

    标签: php javascript


    【解决方案1】:

    查看json_encode。示例:

    var myJSvariable = <?php echo json_encode($myPHPvariable); ?>;
    

    这适用于任何类型的 PHP 变量,资源除外。

    【讨论】:

      【解决方案2】:

      使用 AJAX 通过 JavaScript 将请求发送到 PHP 脚本。 http://api.jquery.com/category/ajax/ - http://api.jquery.com/jQuery.ajax/

      编辑:当然要使用 JSON 格式。

      【讨论】:

      • jQuery 不是万能的。尤其是当没有 jQuery 标签,也没有任何 jQuery 代码时。
      • 我并不是说 jQuery 就是答案。我只是说他可以使用 AJAX 将请求发送到 .php 脚本。 例如我添加了一些指向 jQuery 资源的链接。
      • 在你的位置上,我会链接到MDN's XMLHttpRequest article
      猜你喜欢
      • 2018-03-11
      • 1970-01-01
      • 2011-11-20
      • 2015-04-14
      • 2014-04-04
      • 1970-01-01
      • 2012-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多