jQuery - How to PUT JSON via Ajax?

前端 未结 3 966
感动是毒
感动是毒 2020-12-01 07:25

I am trying to put some JSON formatted data via Ajax with jQuery to a server. My code looks like this:

$.ajax({
    type: \"PUT\",
    url: myURL,
    conten         


        
相关标签:
3条回答
  • 2020-12-01 07:34
    //url: this is a reference to the XML, where you need to define the mapping.
    //<entry key="/getEmpDetails/transEfileGenerate.app">
    //<bean class="com.adp.ems.framework.spring.MappingItem" p:delegate-ref="efilePageDelegate"
    //p:action="passJSONObjectAndGetWebServiceOutput" />
    
    //str1 is the input JSON that you need to pass... Ajax will automatically take care to get the response.
    //</entry>
    
    var kw = {
        url : "getEmpDetails/transEfileGenerate.app",
        timeout : 30000,
        handleAs : "json",
        sync: false,
        putData : str1,
        headers: { "Content-Type": "application/json"},
        load : function(result) {
    },
    
    0 讨论(0)
  • 2020-12-01 07:42

    I think the data needs to be a String. Objects are converted to query strings which is what you are seeing here.

    You can use the JSON.stringify(obj) method to convert your Object to a String. The code for the JSON object is available from: https://github.com/douglascrockford/JSON-js/blob/master/json2.js.

    Alternately, just pass the code you are using to create the object as a literal String, but I imagine this is just an example and you'll want to encode some object you've already created.

    0 讨论(0)
  • 2020-12-01 07:44

    If you always have to send JSON in your application, then you can just execute this somewhere in your init and then use default $.ajax call as in your example, and it will always serialize as a JSON string instead of the Ajax default query string.

    Here I use the JSON object mentioned above:

    $.ajaxSetup({
        contentType : 'application/json',
        processData : false
    });
    $.ajaxPrefilter( function( options, originalOptions, jqXHR ) {
        if (options.data){
            options.data=JSON.stringify(options.data);
        }
    });
    
    0 讨论(0)
提交回复
热议问题