是否可以混合帖子并进入ajax?具体来说,使用get变量将表单POST数据发送到url?
在html和PHP中我通常会这样做:
<form action="script.php?foo=bar" method="POST">
...insert inputs and buttons here...
</form>
PHP脚本将根据逻辑/类来处理它。
我尝试过以下几种变化无济于事:
$(document).ready(function() {
$('#formSubmitButton').click(function() {
var data = $('#valueToBePassed').val();
$.ajax({
type: "POST",
//contentType: 'application/json',
url: "script.php?foo=bar",
data: data,
processData: false,
success: function(returnData) {
$('#content').html( returnData );
}
});
});
});
这甚至可能吗?如果是这样,我做错了什么。我不觉得我正在尝试重新发明轮子,因为它已经可以通过大量脚本定期使用(无论是否推荐)(授予它们基于php)。
答案 0 :(得分:1)
你可以,这就是我的工作。
$(document).ready(function() {
$('#formSubmitButton').click(function() {
// My GET variable that I will be passing to my URL
getVariable = $('#valueToBePassed').val();
// Making an example object to use in my POST and putting it into a JSON string
var obj = {
'testKey': 'someTestData'
}
postData = JSON.stringify(obj);
// Jquery's AJAX shorthand POST function, I'm just concatenating the GET variable to the URL
$.post('myurl.com?action=' + getVariable, postData, function(data) {
JSONparsedData = $.parseJSON(data);
nonparsedData = data;
});
});
});
答案 1 :(得分:1)
我在代码中可以看到1个语法错误。
使用
data: {data:data},
而不是
data: data,
然后尝试访问
$_POST['data']; and $_GET['foo'];
但我从未在GET
请求中尝试POST
参数:),这只是一个建议。
答案 2 :(得分:1)
请查看以下jsfiddle网址和
https://jsfiddle.net/cnhd4cjn/
url: "script.php?data="+data, //to get it in the URL as query param
data:"data="+data, // to get it in the payload data
同时检查开发工具中的网络选项卡,以便在单击提交按钮
时检查URL模式