javascript string to variable

后端 未结 5 1653
星月不相逢
星月不相逢 2020-12-21 04:26

I am receiving a JSON string from an ajax call and would like to convert a value to a predefined variable:

var predefined = \"hello world\";
var foo = {\"msg         


        
5条回答
  •  无人及你
    2020-12-21 05:06

    How about this -- just use the message inline on success and don't even bother to make it part of the JSON. On an error, do include the entire message and use it directly. Also, I'd have your server return something like:

    { "status": true }
    

    or

    { "status": false, "msg": "The mail server is down." }
    

    Then you can just evaluate it as a boolean without comparing it to a string value.

    $.ajax({
        url: "ajax-share-email.php",
        type: "POST", 
        dataType: "json", 
        data: {},
        success: function(data) {
            if (data.status) {
                msg.text('Your email has been sent successfully!').addClass("email-msg-success");                   
            } else {
                msg.text(data.msg).addClass("email-msg-error");
            }
        }
    });
    

    If, and only if, you start reusing your messages for multiple functions, then refactor to a message dictionary and reference it from there. Note your messages object would likely need to be a global variable, or at least in the outer scope of all the functions that use it.

     var messages = {};
     messages.mail_success = 'Your email has been sent successfully!';
     messages.post_success = 'Your data has been updated!';
    
    $.ajax({
        url: "ajax-share-email.php",
        type: "POST", 
        dataType: "json", 
        data: {},
        success: function(data) {
            if (data.status) {
                msg.text(messages.mail_success).addClass("email-msg-success");                   
            } else {
                msg.text(data.msg).addClass("email-msg-error");
            }
        }
    });
    

提交回复
热议问题