Estou paralisado: estou tentando enviar um formulário usando AJAX, mas não consigo encontrar uma maneira de enviar vários campos de dados por meio de minha chamada AJAX.
$(document).ready(function() {
$("#btnSubmit").click(function() {
var status = $("#activitymessage").val();
var name = "Ronny";
$.ajax({
type: "POST",
url: "ajax/activity_save.php",
**data: "status="+status+"name="+name"**,
success: function(msg) {...
Eu tentei todos os tipos de coisas:
data: {status: status, name: name},
Ou até coisas assim apenas para fins de teste:
data: "status=testing&name=ronny",
Mas o que quer que eu tente, não recebo nada no meu, activity_save.php
portanto, nada no meu SQL.
Então, qual é a sintaxe correta para colocar mais linhas de dados na minha chamada AJAX?
Respostas:
A sintaxe correta é:
Conforme especificado aqui: http://api.jquery.com/jQuery.ajax/
Portanto, se isso não funcionar, eu alertaria essas variáveis para garantir que elas tenham valores.
fonte
data: {status: status, name: name},
"data: { site-name: "StackOverflow" }
, não funcionará.key1=value1&key2=value2
ou um objeto do formulário{key1: 'value1', key2: 'value2'}
. Se o último formulário for usado, os dados serão convertidos em uma sequência de consultas usando jQuery.param () antes de serem enviados. "Você pode enviar dados através de JSON ou via POST normal, aqui está um exemplo para JSON.
Se você quiser usá-lo via postagem normal, tente isso
fonte
.serialize()
não está definido!Tente com aspas:
Deve funcionar bem.
fonte
Depois disso, você pode fazer o seguinte:
depois de:
Isso funciona como formato de string JSON.
fonte
De acordo com http://api.jquery.com/jquery.ajax/
fonte
Este funciona para mim.
Aqui está o meu PHP:
Aqui está o meu jQuery usando AJAX:
fonte
Eu sou iniciante no ajax, mas acho que usar esse tipo de dados do método "data: {status: status, name: name}" deve ser definido como JSON, isto é,
fonte
dataType
é a resposta do tipo de conteúdo que você espera obter do servidor - não o que você está enviando. Os dados para os quais você está enviando sempre serão convertidosfoo=bar&bar=foo
.Usa isto
Eu tento muita sintaxe para trabalhar com o laravel, isso funciona para mim para o laravel 4.2 + ajax.
fonte
Tente o seguinte:
fonte
Eu sou novo no AJAX e tentei isso e funciona bem.
fonte
Tente usar:
fonte
Aqui está o que funciona para mim após 2 dias de coçar a cabeça; por que não consegui que a configuração de 'dados' do AJaX enviasse dois valores-chave (incluindo uma variável contendo dados brutos de imagem) era um mistério, mas parece ser para isso que a função jQuery.param () foi escrita;
crie uma matriz de parâmetros com suas variáveis, sem aspas:
Use a variável ser_data como seu valor de dados;
A documentação está aqui: https://api.jquery.com/jQuery.param/
Espero que ajude!
fonte