如何在不包含jquery的情况下将.js文件中的变量发布到php文件中?

时间:2015-03-22 07:04:08

标签: javascript php ajax

我很高兴我将如何做这件事,所以我制作.js文件来收集页面上的数据(100%用js)我想把它发布到一个php文件,然后将处理它并将其插入数据库等..

我将如何做到这一点?我知道你可以在html文档中使用jquery,但我想在.js文件中使用它而不是.html文件。

我已成功使用.html文件并导入jquery文件,但我想在.js文件中完成所有操作。

非常感谢任何帮助。非常感谢(:

2 个答案:

答案 0 :(得分:1)

我发表评论,但我不能。你能发布一些你的代码样本吗?

我得到的是你使用JavaScript(jQuery)将POST(表单数据?)转换为PHP文件。如果你想在.js文件中使用jQuery,你需要做的就是在包含.js文件之前包含jQuery库,如下所示:

<script src="jquery.js"></script>
<script src="myExternalScript.js"></script>

然后,在myExternalScript.js内,您可以使用jQuery方法。

外部脚本知道你的DOM元素,就像内联JavaScript一样,所以你仍然可以用你的表单做任何你想做的事情,或者你从哪里获取数据来发布。

编辑:(根据您对此回答的评论)

编辑2:我忘了为POST添加请求标头

如果您要发送AJAX POST 请求(请注意我设置了Content-Type请求标头,以便正确发送数据):

var xmlhttp = new XMLHttpRequest(); 

xmlhttp.open("POST","http://zegita.tk/stargazer/magic.php", true); 
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send("n="+user);

如果您想发送AJAX GET 请求:

var xmlhttp = new XMLHttpRequest(); 

xmlhttp.open("GET","http://zegita.tk/stargazer/magic.php?n="+user, true); 

xmlhttp.send();

使用正确的方法非常重要,具体取决于您是否在$_GET文件中使用$_POSTmagic.php

答案 1 :(得分:0)

点击按钮会运行 SCRIPT (进一步将3个JS变量传递给 abc.php

<script type="text/javascript">
    function sendJSValsToPHP(){
        var xmlhttp;

        //These are the variables i am going to post to illustrate the example, what you want
        var var_1toPost = 1;
        var var_2toPost = 2;
        var var_3toPost = 3;

        if (window.XMLHttpRequest)
          {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
          }
        else
          {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          }
        xmlhttp.onreadystatechange=function()
        {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                //You can get the response text from abc.php file and process it in any of the tags you want by javascript code
                document.getElementById("myDiv").innerHTML=xmlhttp.responseText;              
            }
        }
        xmlhttp.open("GET","abc.php?recieve_1="+var_1toPost+"&recieve_2="+var_2toPost+"&recieve_3="+var_3toPost,true);
        xmlhttp.send();
    }
</script>

abc.php中的回声数据将出现在div="myDiv" //as a response.

<body>
    <div id="myDiv" style="border: 1px solid BLUE; height: 100px;">
        the things echo'ed in abc.php will come in this div
    </div>
    <button onclick="sendJSValsToPHP();">Click Me To Send JS-Values to abc.php</button>
</body>

然后在 abc.php //文件

<?php
    $recieved_1 = $_GET['recieve_1'];
    $recieved_2 = $_GET['recieve_2'];
    $recieved_3 = $_GET['recieve_3'];

    //Do your processing here and insert it in the database
        //Insert Query OR Update Query (whatever)
    // after you have inserted you can get the response in
    // the <div> having id="myDiv" Or whatever you want
    // Suppose you have successfully inserted data then 
    $insertedDataBoolean = true;
    if($insertedDataBoolean){
        echo "Data: " . $recieved_1 . ", " . $recieved_2 . 
        " and " . $recieved_3 . " inserted successfully.";
    }
    else{
        echo "Data-insertion error.";
    }
?>