Is there a javascript function that takes a string and converts it into another string that is percent-encoded? That way something like \"This Guy\" turns into \"This%20Guy\".
Yes, here is
escape('This Guy');
Try this encodeURIComponent()
var stringToDecode = "J&K";
var encodedString = encodeURIComponent(stringToDecode );
Use decodeURIComponent() to decode it again when needed
More Info here
https://en.wikipedia.org/wiki/Percent-encoding#Percent-encoding_reserved_characters
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent
Try encodeURIComponent() or escape()
encodeURI, encodeURIComponent or escape will work the same way for your string, but they differ in details.
encodeURI is just for escaping URLs
encodeURIComponent also escapes = and &
escape works differently with non-ASCII unicode symbols
encodeURI("Ω") === encodeURIComponent("Ω") === "%CE%A9"
escape("Ω") === "%u03A9"
if you need to send a string as part of request, use encodeURIComponent