Javascript 使用POST和AJAX获取数据

Javascript 使用POST和AJAX获取数据,javascript,ajax,post,get,Javascript,Ajax,Post,Get,我正在尝试使用AJAX在服务器中异步发送一些数据。 我需要使用POST方法发送数据,因为发送的数据非常复杂 使用GET,创建的URL将太大。这不是问题,但出于美学原因,我宁愿使用小URL。为了做到这一点,我使用了解释过的解决方案(问题) 我发送数据的Javascript代码是: var code = "code=" + document.getElementById("code_area").value; xmlhttp.open("POST", "run_code.php", tr

我正在尝试使用AJAX在服务器中异步发送一些数据。 我需要使用
POST
方法发送数据,因为发送的数据非常复杂 使用
GET
,创建的URL将太大。这不是问题,但出于美学原因,我宁愿使用小URL。为了做到这一点,我使用了解释过的解决方案(问题)

我发送数据的Javascript代码是:

   var code = "code=" + document.getElementById("code_area").value;
   xmlhttp.open("POST", "run_code.php", true);
   xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   xmlhttp.send(code);

上面的代码是在我单击一个按钮时执行的,但是URL变为:
localhost/code.php?code=datadata
,这似乎与使用
GET
没有什么不同(我的URL变得相当大)。我使用了
POST
,而不是
GET
,但数据似乎仍然通过URL传输。知道为什么会发生这种情况吗?

使用jQuery可以更轻松地做到这一点

$.post("run_code.php", { code: $("#code_area").val() });
链接:


使用jQuery可以更轻松地实现这一点

$.post("run_code.php", { code: $("#code_area").val() });
链接:


使用jquery更容易

$.post( 'yoururlhere.com/phppage',
        {code:$("#code_area").val()},
        function(responseData){
            // responseData is the echo'd data set from your php page
        }, 'json'
);
{}中的数据是后K-V对


responseData是从php返回的数据集,使用jquery更容易

$.post( 'yoururlhere.com/phppage',
        {code:$("#code_area").val()},
        function(responseData){
            // responseData is the echo'd data set from your php page
        }, 'json'
);
{}中的数据是后K-V对


responseData是从php返回的数据集。问题是,我在HTML页面中使用了一个提交输入字段,如下所示:

<input type="submit" />

使用时,会更改(刷新)URL

通过使用:

<input type="button" />


问题已经解决。

问题毕竟是我在HTML页面中使用了一个提交输入字段,如下所示:

<input type="submit" />

使用时,会更改(刷新)URL

通过使用:

<input type="button" />


问题已经解决。

@equality。。尝试使用jquery。4行减少为1行。可能服务器正在发出重定向,并且由于您没有响应的自定义处理程序,浏览器将执行重定向。你在不同的浏览器中尝试过吗?当你说“URL变为这个”时,你的意思是什么?@equality。。尝试使用jquery。4行减少为1行。可能服务器正在发出重定向,并且由于您没有响应的自定义处理程序,浏览器将执行重定向。你在不同的浏览器中尝试过吗?当你说“URL变为这个”时,你的意思是什么?