$.load内部的表单提交不正确。

3

以下是我的翻译:当点击按钮时,会执行以下代码:

    Readthis = "MonsterRequest.php?id=<?php echo $_REQUEST['id']; ?>&Mon=";
    TestVar = TestVar.replace(/\s/g, "");
    Readthis = Readthis + htmlencode(TestVar);
    $('#CenterPiece').load(Readthis); 

除了传递给Monsterequest.php时出现问题外,一切似乎都按预期工作。post没有传递到自身,页面基本上重新加载为其被传递到主父级...(我不确定是否是这样,但是monsterrequest.php似乎完美地工作在它自己身上,但是当它被加载时,它根本不能按预期工作,我完全被卡住了。我想要发布数据而不必重新加载页面。
Monsterrequest.php: http://pastebin.com/fiFjjBZg
2个回答

7

您熟悉AJAX吗?如果您已经知道了,请原谅我,但是如果您不清楚:

Ajax将数据发布到外部php文件,该文件处理接收到的数据,然后发送回答案。它的样子是这样的:

文件#1:

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                $('#Sel').change(function() {
                    var opt = $(this).val();
                    var someelse = 'Hello';
                    var more_stuff = 'Goodbye';
                    $.ajax({
                        type: "POST",
                        url: "receiving_file.php",
                        data: 'selected_opt=' + opt + '&something_else=' +someelse+'&more_stuff='+more_stuff,
                        success:function(data){
                            alert('This was sent back: ' + data);
                        }
                    });
                });
            });
        </script>
    </head>
<body>

<select id = "Sel">
    <option value ="Song1">default value</option>
    <option value ="Song2">Break on through</option>
    <option value ="Song3">Time</option>
    <option value ="Song4">Money</option>
    <option value="Song5">Saucerful of Secrets</option>
</select>

文件 #2:receiving_file.php

<?php
    $recd = $_POST['selected_opt'];
    echo 'You chose: ' . $recd;

我还没有尝试过这种形式的发布,但我认为它应该与我的粘贴板相同。我正在尝试将外部页面的表单加载到我的主页面上,但我会很快尝试一下并发布结果。 - Ginzo Milani
是的,$.post是相同的,但是使用更长的$.ajax格式在遇到错误并需要逐步分析时非常有帮助。 - crashwap
好的,在尝试了这个之后,我决定采用这种方式,页面成功地在不刷新的情况下正常工作。 - Ginzo Milani

0

如果你读了monsterrequest,我正在使用它,但在将该页面加载到另一个页面时会出现问题。 - Ginzo Milani
请将您的相关代码粘贴在这里。您的问题代码中没有提到$.post,只使用了$.load。 - Madbreaks

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接