Ajax 提交 post 数据以获取 url
Ajax submit post data to a get url
是否可以混合post并进入ajax?具体来说,有一个表单 POST 数据到一个 url with get variables?
在html和PHP中我通常会这样做:
<form action="script.php?foo=bar" method="POST">
...insert inputs and buttons here...
</form>
PHP 脚本会根据 logic/classes 处理它。
我尝试了以下和几种变体都无济于事:
$(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)。
你可以,我就是这样做的。
$(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 个语法错误。
使用
data: {data:data},
而不是
data: data,
然后像
一样尝试访问
$_POST['data']; and $_GET['foo'];
但我从未在 POST
请求中尝试过 GET
参数 :),这只是一个建议。
请查看下面的 jsfiddle URL 和
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 模式
是否可以混合post并进入ajax?具体来说,有一个表单 POST 数据到一个 url with get variables?
在html和PHP中我通常会这样做:
<form action="script.php?foo=bar" method="POST">
...insert inputs and buttons here...
</form>
PHP 脚本会根据 logic/classes 处理它。
我尝试了以下和几种变体都无济于事:
$(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)。
你可以,我就是这样做的。
$(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 个语法错误。
使用
data: {data:data},
而不是
data: data,
然后像
一样尝试访问$_POST['data']; and $_GET['foo'];
但我从未在 POST
请求中尝试过 GET
参数 :),这只是一个建议。
请查看下面的 jsfiddle URL 和
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 模式