Distinguishing JSON Strings from Error Messages in AJAX Responses
When working with AJAX calls, it's common to receive data from the server that may be either a JSON string containing relevant information or an error message string generated by PHP's mysql_error() function. To handle these responses effectively, it's essential to have a method for identifying whether the received data is a JSON string.
One approach to this problem is to define a function called isJSON that mimics the syntax of the instanceof operator used for array type checking. The isJSON function employs JSON.parse to accomplish this:
function isJson(str) { try { JSON.parse(str); } catch (e) { return false; } return true; }
This function attempts to parse the input string as a JSON object. If the parsing is successful, the function returns true, indicating that the string is a valid JSON string. If the parsing fails due to a syntactic error, the function catches the exception and returns false, indicating that the string is not JSON.
Utilizing this function, we can write code to handle the different scenarios:
if (isJSON(data)) { // Process the JSON data } else { // Display the error message alert(data); }
The above is the detailed content of How Can I Differentiate Between JSON Data and Error Messages in AJAX Responses?. For more information, please follow other related articles on the PHP Chinese website!