Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
244 views
in Technique[技术] by (71.8m points)

javascript - HTML form sent by Ajax and handle with PHP

I have a form input generated with PHP like given below:

<input type="text" name="category[type]">
<input type="text" name="category[name]">

In PHP, it's ok. But I need to send it with javascript by Ajax. I use jQuery and tried with function $.serializeArray() in data.

'form': $(this).closest('form').serializeArray(),

But the result what I got is:

array (7)
  0 => array (2)
    name => "category[type]" (11)
    value => "my_type"

JSFIDDLE

Best result what I need is:

array
  category => array
    type => my_type

or anything similar what I can work with.

Any idea?

Thank in advance for your help

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Use .on method to attach the submit event handler to your form. This will trigger when you click on a submit button within your form.

You want to pass $(this).serializeArray() directly into data setting.

$('form').on('submit', function (e) {
    e.preventDefault();
    $.ajax({
        type: 'POST',
        url: 'script.php'
        data: $(this).serializeArray(), 
        success: function (res) {
            // handle the response you get back from the PHP
        }
    })
});

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...