使用POST和AJAX获取数据
问题描述:
我想使用AJAX异步地在服务器中发送一些数据。 我需要使用POST
方法发送数据,因为发送的数据相当多 很多字符,并且使用GET
创建的URL会太大。那么这不是问题,但出于美观的原因,我宁愿有小的URL。为了做到这一点,我使用了解释(问题)here。使用POST和AJAX获取数据
我的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=datadatadatadatadatadatadatadatadatadatadatadatadatadata
这似乎是没有什么不同使用GET
,而不是(我URL变得相当大)。我使用了POST
,而不是GET
,但仍然有数据似乎通过URL传输。任何想法为什么会发生?
答
问题回显回数据集毕竟是我在我的HTML页面中使用提交输入字段,如下所示:
<input type="submit" />
当使用更改(刷新)URL时。
使用:
<input type="button" />
的问题已得到修复。
答
你可以更容易地使用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'
);
中的数据{}是后KV对
responseData是从PHP
@equality ..尝试使用jquery。 4行减少到1. – ariel 2011-05-09 04:02:21
也许服务器发出重定向,并且由于您没有响应的自定义处理程序,浏览器将执行重定向。你有没有尝试过不同的浏览器? – ariel 2011-05-09 04:53:13
当你说“网址更改为此”时,你的意思是? – ariel 2011-05-09 04:54:03